繁体   English   中英

在Azure Blob存储中存储字符串并使用C#获取对Blob的引用

[英]Storing a string in Azure blob storage and getting a reference to the blob with C#

伙计们,

我有代码进行API调用,返回JSON,进行解析并将其存储在SQL表中。 现在,我想使用该JSON并将其保存在Azure blob存储中,然后将对它的引用保存在SQL表中作为单独的字段。

到目前为止,我已经知道了:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
        CloudConfigurationManager.GetSetting("MyConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mydata");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(dataString);
blockBlob.UploadTextAsync(resultContent);

我可以将什么另存为参考字符串,以供将来检索Blob? 是blockBlob吗?

每个Blob都有一个uri,例如:

https://<yourstorageaccountname>.blob.core.windows.net/containername/blobname

这就是您要存储在数据库中的内容。 您甚至可以使用此uri在您的应用程序中直接提供一个到最终用户的直接链接(例如,作为网页中的链接)。 注意:为了使直接链接在外部起作用(例如,没有存储帐户凭据),容器必须是公共的,或者您需要创建共享访问签名以允许临时公共访问(如果它在私有容器中) 。

可以说,您可以只存储容器/ blob名称,但是,如果您有多个存储帐户,则需要知道将其存储在哪个帐户中。

您的代码可以如下更改:

CloudBlockBlob blockBlob = container.GetBlockBlobReference("datastring.json");

您以后可以使用相同的名称(即datastring.json)检索此名称,并且可以在数据库中保存相同的Blob名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM