Azure Blob 存儲是用於大量存儲非結構化數據(例如文本數據或二進制數據)的 Microsoft 應用程序存儲解決方案。Azure Blob 存儲適用於存儲任何類型的文本或二進制數據,例如:
- 圖片和視頻文件
- Web 應用程序生成的日誌文件
- 傳感器生成的數據流
- 靜態網站的內容(例如 HTML 和 JavaScript 文件)
一、Azure Blob 存儲連接
1、獲取 Azure Blob 存儲連接字符串
要在代碼中訪問 Azure Blob 存儲,需要使用連接字符串。可以通過以下步驟來獲取連接字符串:
- 在 Azure 門戶中,轉到存儲帳戶。
- 單擊“訪問密鑰”,然後複製“連接字符串”。
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("連接字符串");
2、創建 Blob 客戶端對象
要訪問 Blob 存儲,需要使用 CloudBlobClient 對象。可以使用以下代碼創建 CloudBlobClient 對象:
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
3、獲取 Blob 容器引用
Blob 容器是 Blob 存儲中的邏輯容器,可用於組織 Blob。可以使用以下代碼獲取 Blob 容器的引用:
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
二、Azure Blob 存儲操作
1、上傳 Blob
可以使用 CloudBlockBlob 對象的 UploadFromStreamAsync 方法將文件上傳到 Blob 存儲中:
CloudBlockBlob blob = container.GetBlockBlobReference("myblob");
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes("blob 理論大小")))
{
await blob.UploadFromStreamAsync(stream);
}
2、下載 Blob
可以使用 CloudBlockBlob 對象的 DownloadToStreamAsync 方法將文件從 Blob 存儲下載到流中:
CloudBlockBlob blob = container.GetBlockBlobReference("myblob");
using (var stream = new MemoryStream())
{
await blob.DownloadToStreamAsync(stream);
var content = Encoding.UTF8.GetString(stream.ToArray());
}
3、刪除 Blob
可以使用 CloudBlockBlob 對象的 DeleteIfExistsAsync 方法刪除 Blob:
CloudBlockBlob blob = container.GetBlockBlobReference("myblob");
await blob.DeleteIfExistsAsync();
4、列舉 Blob
可以使用 CloudBlobContainer 對象的 ListBlobsSegmentedAsync 方法列舉 Blob 容器中的所有 Blob:
BlobContinuationToken continuationToken = null;
do
{
var resultSegment = await container.ListBlobsSegmentedAsync(null, continuationToken);
continuationToken = resultSegment.ContinuationToken;
foreach (IListBlobItem item in resultSegment.Results)
{
if (item is CloudBlockBlob blob)
{
// Process the block blob.
}
}
} while (continuationToken != null);
三、Azure Blob 存儲時長
1、上傳 Blob 時間
上傳 Blob 的時間取決於文件的大小和上傳的帶寬。
2、下載 Blob 時間
下載 Blob 的時間取決於 Blob 的大小和下載的帶寬。
3、刪除 Blob 時間
刪除 Blob 的時間取決於容器中 Blob 的數量和刪除操作的時間。
原創文章,作者:XLABA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/315879.html