0

0

C#怎么操作Azure Blob Storage Azure存储SDK使用方法

畫卷琴夢

畫卷琴夢

发布时间:2026-01-10 00:15:22

|

818人浏览过

|

来源于php中文网

原创

使用 Azure.Storage.Blobs SDK 操作 Blob:安装包后,用连接字符串或共享密钥初始化 BlobServiceClient;创建容器时设 PublicAccessType.Blob 实现匿名读;上传/下载/删除用 BlobClient;列表支持前缀过滤;SDK 自动处理大文件分块。

c#怎么操作azure blob storage azure存储sdk使用方法

用 C# 操作 Azure Blob Storage,核心是使用 Azure SDK for .NET(即 Azure.Storage.Blobs 包),它比旧版 Microsoft.Azure.Storage.Blob 更现代、更轻量、更符合 .NET 标准。下面直接讲清楚怎么上手、怎么写关键代码。

安装 SDK 并初始化客户端

在项目中通过 NuGet 安装最新稳定版:

red">Install-Package Azure.Storage.Blobs

拿到存储账户的连接字符串(或账户名+密钥/Token)后,创建 BlobServiceClient

  • 用连接字符串(开发/测试常用):
var connectionString = "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=core.windows.net";
var serviceClient = new BlobServiceClient(connectionString);
  • 用账户名 + 共享密钥(更安全,推荐生产环境):
var credential = new StorageSharedKeyCredential("myaccount", "mykey");
var serviceClient = new BlobServiceClient(new Uri("https://myaccount.blob.core.windows.net"), credential);

创建容器并设置访问级别

Blob 必须存放在容器(Container)里。默认容器是私有(private)的,如需公开读取(比如放静态资源),要显式设为 BlobContainerPublicAccessType.Blob

var containerClient = serviceClient.GetBlobContainerClient("mycontainer");
await containerClient.CreateIfNotExistsAsync(PublicAccessType.Blob); // 允许匿名读 blob
  • PublicAccessType.None:仅授权用户可访问(默认)
  • PublicAccessType.Container:可匿名列容器内 blob 列表
  • PublicAccessType.Blob:可匿名读单个 blob(最常用)

上传、下载和删除 Blob

操作单个文件(blob)时,用 GetBlobClient 获取具体 blob 引用:

Runwayml(AI painting)
Runwayml(AI painting)

Runway 平台的文本生成图像AI工具

下载
  • 上传本地文件:
var blobClient = containerClient.GetBlobClient("photos/cat.jpg");
await blobClient.UploadAsync("D:\\cat.jpg", new BlobHttpHeaders { ContentType = "image/jpeg" });
  • 上传字节数组或流(适合内存中生成的内容):
await blobClient.UploadAsync(stream, new BlobHttpHeaders { ContentType = "text/plain" });
  • 下载到本地文件:
await blobClient.DownloadToAsync("D:\\downloaded-cat.jpg");
  • 删除 blob:
await blobClient.DeleteIfExistsAsync();

列出 Blob 和处理大文件

批量操作用 GetBlobsAsync,支持分页和前缀过滤:

await foreach (var blob in containerClient.GetBlobsAsync(prefix: "logs/2024-06-"))
{
    Console.WriteLine(blob.Name);
}

上传超大文件(如 >256MB)建议用分块上传(StartUploadAsync + StageBlockAsync + CommitBlockListAsync),但一般场景直接用 UploadAsync 即可——SDK 内部会自动分块处理。

基本上就这些。关键点:用对 SDK 包、连对凭证、设对容器权限、传对 ContentType。不复杂但容易忽略细节,比如忘了设 public access 就无法外网访问,或者没加 ContentType 导致浏览器下载而非预览。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6072

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

794

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1054

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1194

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

253

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1463

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

614

2023.11.24

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

3

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.9万人学习

Excel 教程
Excel 教程

共162课时 | 11.2万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号