Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Azure blob存储中存储字符串并使用C获取对blob的引用#_C#_Azure_Azure Storage_Azure Storage Blobs_Azure Blob Storage - Fatal编程技术网

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

C# 在Azure blob存储中存储字符串并使用C获取对blob的引用#,c#,azure,azure-storage,azure-storage-blobs,azure-blob-storage,C#,Azure,Azure Storage,Azure Storage Blobs,Azure Blob Storage,伙计们 我有一些代码进行API调用,获取JSON,解析它并将其存储在SQL表中。现在,我想获取该JSON并将其保存在Azure blob存储中,然后在SQL表中将对它的引用保存为一个单独的字段 到目前为止,我得到了这个: CloudStorageAccount storageAccount = CloudStorageAccount.Parse( CloudConfigurationManager.GetSetting("MyConnectionString")); CloudB

伙计们

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

您的代码可以按如下方式更改:

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

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

每个blob都有一个uri,如:

https://<yourstorageaccountname>.blob.core.windows.net/containername/blobname
https://.blob.core.windows.net/containername/blobname
这是您将存储在数据库中的内容。您甚至可以使用此uri在应用程序内直接向最终用户提供直接链接(例如,作为网页中的链接)。注意:对于要在外部工作的直接链接(例如,没有存储帐户凭据),容器需要是公共的,或者您需要创建共享访问签名以允许临时公共访问(如果它位于专用容器中)


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

因此在上述情况下,URI将是
https://.blob.core.windows.net/containername/blockBlob
?如果blob名称为
blockBlob
,则为是。blob的类型未嵌入uri中。如果json文件是
mydata.json
,那么它将以
/containername/mydata.json
结尾。