人,
我已经有代码进行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吗?
答案 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名称。