日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# Azure 存储-Blob

發布時間:2023/12/10 C# 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# Azure 存储-Blob 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

本文是根據Azure文檔與本人做了驗證之后寫的。

如果想下載微軟官網的demo, 請前往github?https://github.com/Azure-Samples/storage-blob-dotnet-getting-started

?

2. 介紹

Azure Blob是存儲很大空間的服務,能允許存儲與訪問通過http或https。Blob是有公有與私有的屬性。公有是所有人可以看到的鏈接,私有是要通過秘鑰等才可以訪問到資源。

blob可以存儲:

1)images或document指向一個文件夾

2)保存文件

3)視頻與音頻

4)存儲數據的備份和恢復、災難恢復和歸檔

5)由一個本地存儲數據進行分析或azure托管服務

?

3. 概念

1)Container容器:

一個容器可以包含很多個blobs,一個賬號可以包含很多個containers容器。請注意容器名字要為小寫。

2)Blob:

blob是一個文件的屬性與大小。Azure存儲的blobs包含三種類型:block blobs、page blobs、append blobs。

? Block blobs:存儲的是text與二進制文件,例如documents與媒體類型文件。

? Append blobs:是類似于Block blobs,但是它是做了優化的操作,所以它是用于logging的操作。一個簡單的block blob或者 append blob 可以包含5000個blocks,最大每個文件4MB,整個大小最大為194GB(4MB*50000)

? Page blobs:最大為1TB,是可以讀寫的操作。

?

4. 代碼開始

1)創建存儲賬戶

關于創建存儲的步驟,請參照

http://www.cnblogs.com/alunchen/p/5765700.html

中的第3大點

?

2)導入包,在包管理器上面分別輸入下面的命令:

Install-Package WindowsAzure.Storage

Install-Package Microsoft.WindowsAzure.ConfigurationManager

?

2)建立連接

string connStr = "DefaultEndpointsProtocol=https;AccountName=ceslighttest;AccountKey=cp3JXYFXu6XhV18oVQW2q7urHOhxhm9Guwl6uElTBWd9nxxxxxxxxxxxxxx;EndpointSuffix=core.chinacloudapi.cn";//建立連接CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connStr);CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

?

3)創建容器

// 創建容器,是否存在CloudBlobContainer container = blobClient.GetContainerReference("testuimageblobcontainercompanyname");container.CreateIfNotExists();

?

4)設置權限

容器默認是private的,意思是要指定key才能下載圖片。如果要把圖片設置成對外哪里都可以下載,請設置成public

//容器默認是private的,意思是要指定key才能下載圖片。如果要把圖片設置成對外哪里都可以下載,請設置成publiccontainer.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

?

5)創建文件,并上傳本地文件

// 創建文件名,如果有相同的文件名,則替換CloudBlockBlob blockBlob = container.GetBlockBlobReference("23.jpg");//上傳本地文件using (var fileStream = System.IO.File.OpenRead(@"E:\23.jpg")){blockBlob.UploadFromStream(fileStream);}

?

6)show全部在容器里面的blobs文件

// 輸出文件大小與路徑uriforeach (IListBlobItem item in container.ListBlobs(null, false)){if (item.GetType() == typeof(CloudBlockBlob)){CloudBlockBlob blob = (CloudBlockBlob)item;r += string.Format("Block blob of length {0}: {1}", blob.Properties.Length, blob.Uri);}else if (item.GetType() == typeof(CloudPageBlob)){CloudPageBlob pageBlob = (CloudPageBlob)item;r += string.Format("Page blob of length {0}: {1}", pageBlob.Properties.Length, pageBlob.Uri);}else if (item.GetType() == typeof(CloudBlobDirectory)){CloudBlobDirectory directory = (CloudBlobDirectory)item;r += string.Format("Directory: {0}", directory.Uri);}}

?

7)刪除blobs

CloudBlockBlob blockBlob = container.GetBlockBlobReference("23.jpg");//刪除blobblockBlob.Delete(); 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的C# Azure 存储-Blob的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。