[Azure] C# + Azure.Storage.Blobs v12 - 上傳資料並且加入 Tags 、包含一些上傳數據
今天我們來聊一個新的東西,真的很新碰到一些坑,因為我之前有跟 Azure Storage Table 搏鬥的經驗,大概了解 Azure 的想法,不然我一定幹聲連連,今天要做的是假設我塞了一堆東西上去 像是 log 但是我總不可能要查詢的時候把所有檔案都拉回來吧,以前的我可能會把log 放在 SQL Server ( 但是好貴QQ) ,其實是可以放在 Blob 上面,之前我的選擇是用 Azure Storage Table ,現在這也變成是一種選擇,因為 Azure Storage Blob 多了新功能 Manage and find Azure Blob data with blob index tags (preview) 。請注意這還是 Preview
前置步驟1,去 Azure portal 開一個新的儲存體帳戶,目前只有 加拿大中部,加拿大東部,法國中部,法國南部。官方其實有寫到,但是我之前不知道直接測試~ 結果出現
RequestId:e36c6d12-a01e-0087-0628-dffb1b000000
Time:2020-12-31T03:53:57.1794409Z
Status: 400 (A required feature for this operation is not enabled on the account.)
ErrorCode: FeatureNotEnabled
Additional Information:
FeatureName: BlobIndex
Headers:
Server: Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0
x-ms-error-code: FeatureNotEnabled
x-ms-request-id: e36c6d12-a01e-0087-0628-dffb1b000000
x-ms-version: 2020-02-10
x-ms-client-request-id: 91c8af1d-8d3d-48e6-8dbc-3d394d37c5af
Date: Thu, 31 Dec 2020 03:53:56 GMT
Content-Length: 291
Content-Type: application/xml
at Azure.Storage.Blobs.BlobRestClient.Blob.SetTagsAsync_CreateResponse(ClientDiagnostics clientDiagnostics, Response response)
官方敘述
前置步驟2,首先你得安裝新版的 Azure.Storage.Blobs ( https://www.nuget.org/packages/Azure.Storage.Blobs ) 12.7.0 ,不要裝到舊版的,這邊我撰寫案例是用 .net core 3.1;在 Azure Portal 開一個 儲存體帳戶,並且在左側的存取金鑰中拿到 Connection String.
程式碼的部分,我會產生一萬個 User 的物件,轉成 JSON 後我就放上去,為何我會寫的比較奇怪先用 List 裝,是因為我要測速,所以寫法稍微比較奇怪點,但是不影響我要表達的東西,基本上我在上傳資料後,我都會在繼續在把上傳的資料 會補上數字型資料,文字形資料,還有日期的資料,之後我們在來測試透過這些資料來搜尋。
如果你是開在我上面說的四個地方,你使用 Microsoft Azure Storage Explorer 你對資料點右鍵,你可以看到編輯標籤,如果你開的地區是不能用的編輯標籤就不能被點選
可以查看標籤
接下來分享一些數據
1.之前這樣的資料如果我放在儲存體帳戶放在東南亞 上傳一萬筆,測試了5次,大概數據是
00:00:32.2540226
00:00:33.5885745
00:00:34.4300197
00:00:32.1296511
00:00:34.2549828
2.因為測試沒辦法我開加拿大中部,如果單純上傳一萬筆,沒有設定 Tag
00:01:15.2506988
3.上傳一萬筆加上設定 Tag 測試了 4次數據分別為
00:02:06.4490171
00:02:11.5993835
00:02:03.2308410
00:02:04.2102533
大概分享到這邊,下篇文章來寫搜尋,網路上文件不多,自己測試一下,遇到一些問題,之後我想全部都開了之後應該會很有用途吧。
reference :
https://docs.microsoft.com/zh-tw/azure/storage/blobs/storage-manage-find-blobs?tabs=azure-portal
https://docs.microsoft.com/zh-tw/azure/search/search-blob-storage-integration
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-index-how-to?tabs=net
https://docs.microsoft.com/zh-tw/azure/storage/blobs/storage-blob-index-how-to?tabs=azure-portal
https://docs.microsoft.com/en-US/Azure/storage/blobs/storage-manage-find-blobs?tabs=azure-portal