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

时间:2017-05-24 12:25:27

标签: c# azure azure-storage azure-storage-blobs azure-blob-storage

人,

我已经有代码进行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吗?

2 个答案:

答案 0 :(得分:2)

每个blob都会像uri一样:

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

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

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

答案 1 :(得分:1)

您的代码可以更改如下:

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

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