簡體   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