[英]Azure Storage private container blob to MemoryStream
我正在試圖計算代碼以將文件從Azure存儲專用容器下載到MemoryStream中。
到目前為止我有這個...
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri);
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
它在最后一行出錯......
遠程服務器返回錯誤:(404)Not Found。
但是,當容器不是私有容器時,它將正常工作。
任何幫助非常感謝,謝謝。
請嘗試以下代碼:
StorageCredentials storageCredentials = new StorageCredentials(*my StorageAccountName*, *my StorageAccountAccessKey*);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
Uri blobUri = new Uri(featureFile.URL);
CloudBlockBlob blob = new CloudBlockBlob(blobUri, storageCredentials);//added storageCredentials
MemoryStream mem = new MemoryStream();
blob.DownloadToStream(mem);
由於容器具有Private
ACL,因此需要對請求進行身份驗證。 使用CloudBlockBlob
this
構造函數可以CloudBlockBlob
這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.