影音先锋男人资源站_国产婷婷综合丁香亚洲欧洲_白狐视频传媒污软件下载_趁女同学午休揉她的屁股

Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明,azure blob 性能-ESG跨境

Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明,azure blob 性能

來(lái)源網(wǎng)絡(luò)
來(lái)源網(wǎng)絡(luò)
2022-05-31
點(diǎn)贊icon 0
查看icon 841

Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明,azure blob 性能Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明一,引言上一篇將Azure Blob存儲(chǔ)的時(shí)候,有使用到一個(gè).NET Core Web項(xiàng)目,通過(guò)代碼的方式進(jìn)行操作Azure Blob的數(shù)據(jù),接著上一篇的內(nèi)容,今天繼續(xù)看一......

Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明,azure blob 性能




Azure Storage 系列(三)Blob 參數(shù)設(shè)置說(shuō)明

一,引言

上一篇將Azure Blob存儲(chǔ)的時(shí)候,有使用到一個(gè).NET Core Web項(xiàng)目,通過(guò)代碼的方式進(jìn)行操作Azure Blob的數(shù)據(jù),接著上一篇的內(nèi)容,今天繼續(xù)看一下代碼,具體看看Azure.Storage中的類,方法。

我是分割線

Azure Blob Storage存儲(chǔ)系列:

1,Azure Storage系列(一)入門簡(jiǎn)介

2,Azure Storage系列(二).NET Core Web項(xiàng)目中操作Blob存儲(chǔ)

3,Azure Storage系列(三)Blob參數(shù)設(shè)置說(shuō)明

4,Azure Storage系列(四)在.Net上使用Table Storage

二,正文

1,配置Blob連接字符串

{

Logging: {

  LogLevel: {

   Default: Information,

   Microsoft: Warning,

   Microsoft.Hosting.Lifetime: Information

  }

},

AllowedHosts: *,

AzureBlobStorageConnectionString: DefaultEndpointsProtocol=https;AccountName=cnbateblogaccount;AccountKey=FU01h022mn1JjONp+ta0DAXOO7ThK3diY891n9nycsTLGZF83nJpGVCVFhGOfV0wndOOQ==;EndpointSuffix=core.windows.net

}

”AzureBlobStorageConnectionString“向此Azure存儲(chǔ)帳戶提出請(qǐng)求時(shí),使用訪問(wèn)密鑰對(duì)應(yīng)用程序進(jìn)行身份驗(yàn)證。請(qǐng)采用安全的方式(例如使用Azure Key Vault)保存訪問(wèn)密鑰,不要共享密鑰。建議定期重新生成訪問(wèn)密鑰。

Azure會(huì)向我們提供兩個(gè)訪問(wèn)密鑰,這樣,當(dāng)重新生成其中一個(gè)時(shí),可以使用另一個(gè)保持連接。

2,注入BlobServiceClient,BlobService

services.AddSingleton(x=newBlobServiceClient(Configuration.GetValuestring(AzureBlobStorageConnectionString)));

初始化創(chuàng)建一個(gè)BlobService類,并且在將appsettings中的key叫”AzureBlobStorageConnection“的鏈接字符串的值當(dāng)作參數(shù)放到構(gòu)造函數(shù)中

BlobService

services.AddSingletonIBlobSergvice,BlobService();

3,BlobService方法

3.1,獲取Blog信息

#region 01,獲取Blob,根據(jù)blob名稱+async TaskBlobInfo GetBlobAsync(string name)

/// summary

/// 獲取Blob,根據(jù)blob名稱

/// /summary

/// param name=nameblob名稱/param

/// returns/returns

public async TaskAzure.Storage.Models.BlobInfo GetBlobAsync(string name)

{

var containerClient = _blobServiceClient.GetBlobContainerClient(picturecontainer);

var blobClient = containerClient.GetBlobClient(name);

var blobDownLoadInfo = await blobClient.DownloadAsync();

return new Azure.Storage.Models.BlobInfo(blobDownLoadInfo.Value.Content, blobDownLoadInfo.Value.ContentType);

}

#endregion

獲取Blob存儲(chǔ)信息具體實(shí)現(xiàn)方法,

1,首先我們可以看到先通過(guò)picturecontainer名稱獲取到ContainerClient,再通過(guò)需要的Blob名稱獲取到BlobClient

2,其次,通過(guò)異步的方法“DownloadAsync”進(jìn)行下載Blob對(duì)象,其中包括Blob元數(shù)據(jù),屬性等信息

3,最后,我們將返回創(chuàng)建BlobInfo對(duì)象,在其構(gòu)造函數(shù)中傳入返回值的Content和ContentType

3.2,獲取Blog信息

#region 02,獲取所有Blob名稱+async TaskIEnumerablestring ListBlobsNameAsync()

/// summary

/// 獲取所有Blob名稱

/// /summary

/// returns/returns

public async TaskIEnumerablestring ListBlobsNameAsync()

{

  var containerClient = _blobServiceClient.GetBlobContainerClient(picturecontainer);

  var items = new Liststring();

  await foreach (var blobItem in containerClient.GetBlobsAsync())

  {

    items.Add(blobItem.Name);

  }

  return items;

}

#endregion

獲取Blob存儲(chǔ)信息具體實(shí)現(xiàn)方法,

1,首先我們可以看到先通過(guò)picturecontainer名稱獲取到ContainerClient,再通過(guò)需要的Blob名稱獲取到BlobClient

2,其次,通過(guò)異步foreach調(diào)用ContainerClient的GetBlobsAsync“的方法,當(dāng)前方法有多個(gè)默認(rèn)參數(shù)

BlobTraits(Blob特性):默認(rèn)獲取包含所有特性的標(biāo)識(shí)

BlobStates(Blob狀態(tài)):指定應(yīng)包含所有狀態(tài)的Blob的標(biāo)志

prefix(前綴):指定一個(gè)字符串,該字符串對(duì)結(jié)果進(jìn)行過(guò)濾以僅返回其名稱以指定的開頭的Blob前綴

cancellationToken:傳播有關(guān)應(yīng)取消操作的通知

3,最后,將每一項(xiàng)的Blob的名稱添加到集合中。

3.3,根據(jù)文件路徑和文件名稱上傳文件

#region 03,上傳文件,根據(jù)文件路徑和文件名稱+async Task UploadFileBlobAsync(string filePath, string filename)

/// summary

/// 上傳文件,根據(jù)文件路徑和文件名稱

/// /summary

/// param name=filePath文件路徑/param

/// param name=filename文件名稱/param

/// returns/returns

public async Task UploadFileBlobAsync(string filePath, string filename)

{

  var containerClient = _blobServiceClient.GetBlobContainerClient(picturecontainer);

  var blobClient = containerClient.GetBlobClient(filename);

  await blobClient.UploadAsync(filePath, new BlobHttpHeaders { ContentType = filePath.GetContentType() });

}

#endregion

上傳Blob數(shù)據(jù)具體實(shí)現(xiàn)方法

1,首先我們可以看到先通過(guò)picturecontainer名稱獲取到ContainerClient,再通過(guò)需要的Blob名稱獲取到BlobClient

2,最后通過(guò)異步上傳文件,此時(shí)需要指定文件的路徑,以及在BlobHttpHeaders中指定文件內(nèi)容的ContentType

3.4,上傳流

#region 04,上傳文件流,根據(jù)文件內(nèi)容和文件名稱+async Task UploadContentBlobAsync(string content, string filename)

/// summary

/// 上傳文件流,根據(jù)文件內(nèi)容和文件名稱

/// /summary

/// param name=content文件內(nèi)容/param

/// param name=filename文件名稱/param

/// returns/returns

public async Task UploadContentBlobAsync(string content, string filename)

{

var containerClient = _blobServiceClient.GetBlobContainerClient(picturecontainer);

var blobClient = containerClient.GetBlobClient(filename);

var bytes = Encoding.UTF8.GetBytes(content);

await using var memoryStream = new MemoryStream(bytes);

await blobClient.UploadAsync(memoryStream, new BlobHttpHeaders() { ContentType = filename.GetContentType() });

}

#endregion

上傳Blob數(shù)據(jù)具體實(shí)現(xiàn)方法

1,首先我們可以看到先通過(guò)picturecontainer名稱獲取到ContainerClient,再通過(guò)需要的Blob名稱獲取到BlobClient

2,其次,將上傳的字符串轉(zhuǎn)化成字節(jié)流

3,最后通過(guò)異步字節(jié)流上傳,以及在BlobHttpHeaders中指定文件內(nèi)容的ContentType

3.5刪除Blob數(shù)據(jù)

#region 05,刪除Blob+async Task DeleteBlobAsync(string blobName)

/// summary

/// 刪除Blob

/// /summary

/// param name=blobNameblob名稱/param

/// returns/returns

public async Task DeleteBlobAsync(string blobName)

{

  var containerClient = _blobServiceClient.GetBlobContainerClient(picturecontainer);

  var blobClient = containerClient.GetBlobClient(blobName);

  await blobClient.DeleteIfExistsAsync();

}

#endregion

刪除blob具體實(shí)現(xiàn)方法

1,首先我們可以看到先通過(guò)picturecontainer名稱獲取到ContainerClient,再通過(guò)需要的Blob名稱獲取到BlobClient

2,最后調(diào)用異步”DeleteIfExistsAsync“方法,將blob進(jìn)行刪除

ok,具體針對(duì)于Blob的增刪查的方法就介紹完成

三,結(jié)尾

今天內(nèi)容較少,只是把上一篇關(guān)于Blob操作的一些方法貼了出來(lái),講了一下對(duì)于Blob的操作,大家也可以通過(guò)微軟官方文檔:Azure Storage Blobs。下一篇將開始新的介紹Storage的新內(nèi)容Azure Table Storage

github:https://github.com/yunqian44/Azure.Storage.git

作者:Allen

版權(quán):轉(zhuǎn)載請(qǐng)?jiān)谖恼旅黠@位置注明作者及出處。如發(fā)現(xiàn)錯(cuò)誤,歡迎批評(píng)指正。

作者:Allen版權(quán):轉(zhuǎn)載請(qǐng)?jiān)谖恼旅黠@位置注明作者及出處。如發(fā)現(xiàn)錯(cuò)誤,歡迎批評(píng)指正。


文章推薦
AppGallery Connect AppLinking鏈接有效期大揭秘,appgalleryconnect使用教程
Google  外貿(mào)平臺(tái)推廣如何進(jìn)行有效優(yōu)化,谷歌推廣怎么用關(guān)鍵詞工具
Glu 通過(guò)在 Eternity Warriors 3 中添加游戲禮物功能提高玩家參與度
Flutter新廣告格式現(xiàn)開放Beta測(cè)試申請(qǐng),flutter視頻客戶端


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國(guó)平臺(tái)交流群
加入
韓國(guó)平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國(guó)賣家交流群
加入
美國(guó)賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
2025跨境電商營(yíng)銷日歷
《2024年全球消費(fèi)趨勢(shì)白皮書——美國(guó)篇》
《2024TikTok出海達(dá)人營(yíng)銷白皮書》
《Coupang自注冊(cè)指南》
《eMAG知識(shí)百科》
《TikTok官方運(yùn)營(yíng)干貨合集》
《韓國(guó)節(jié)日營(yíng)銷指南》
《開店大全-全球合集》
《TikTok綜合運(yùn)營(yíng)手冊(cè)》
《TikTok短視頻運(yùn)營(yíng)手冊(cè)》
通過(guò)ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營(yíng)實(shí)操指導(dǎo)
運(yùn)營(yíng)提效資源福利
平臺(tái)官方專屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問(wèn)

平臺(tái)顧問(wèn)

平臺(tái)顧問(wèn) 平臺(tái)顧問(wèn)

微信掃一掃
馬上聯(lián)系在線顧問(wèn)

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營(yíng)干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
2025跨境電商營(yíng)銷日歷
包括傳統(tǒng)中、外重要節(jié)日及重點(diǎn)電商營(yíng)銷節(jié)點(diǎn)還對(duì)營(yíng)銷關(guān)鍵市場(chǎng)、選品輔以說(shuō)明,讓你的365天安排的明明白白!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
【平臺(tái)干貨】eMAG知識(shí)百科
涵蓋從開店到大賣6個(gè)板塊:開店、運(yùn)營(yíng)、廣告、選品、上架、物流
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營(yíng)必備干貨包
包含8個(gè)TikTok最新運(yùn)營(yíng)指南(市場(chǎng)趨勢(shì)、運(yùn)營(yíng)手冊(cè)、節(jié)日攻略等),官方出品,專業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)coupang平臺(tái)自注冊(cè)指南
韓國(guó)Coupang電商平臺(tái)從注冊(cè)準(zhǔn)備、提交申請(qǐng)到完成注冊(cè),開店全流程詳細(xì)指引。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡(jiǎn)介、競(jìng)爭(zhēng)優(yōu)勢(shì)、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)電商節(jié)日營(yíng)銷指南
10+韓國(guó)電商重要營(yíng)銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長(zhǎng);8大節(jié)日營(yíng)銷技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢(shì)、入駐條件、熱銷品等
立即領(lǐng)取