You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Blob Storage v12如何传入delegatingHandler实现代理设置

Azure Blob Storage v12版本传入DelegatingHandler配置代理的方法

Azure Blob Storage v12版本不再直接在BlobServiceClient构造函数中提供delegatingHandler参数,你需要通过BlobClientOptions配置类将自定义DelegatingHandler注入到请求管道中,具体实现如下:

方式1:传入自定义DelegatingHandler

适合你已经有封装好的代理处理DelegatingHandler的场景:

// 实例化自定义DelegatingHandler
DelegatingHandler yourProxyHandler = new CustomProxyDelegatingHandler();

// 初始化Blob配置类,将Handler添加到请求管道
BlobClientOptions blobOptions = new BlobClientOptions();
// 可根据业务需求选择管道位置:PerCall每个请求执行一次/PerRetry每次重试都执行
blobOptions.AddPolicy(yourProxyHandler, HttpPipelinePosition.PerCall);

// 构造BlobServiceClient时传入配置参数
var c = new BlobServiceClient(uri, credentials, blobOptions);

方式2:直接配置代理(无需自定义Handler)

如果仅需要配置标准代理,不需要额外自定义请求处理逻辑,可以直接配置传输层的代理属性,更简便:

BlobClientOptions blobOptions = new BlobClientOptions();
blobOptions.Transport = new HttpClientTransport(new HttpClientHandler
{
    UseProxy = true,
    Proxy = new WebProxy("http://你的代理地址:端口", true)
    // 如果代理需要认证,可补充Credentials属性
    // Proxy.Credentials = new NetworkCredential("用户名", "密码");
});

var c = new BlobServiceClient(uri, credentials, blobOptions);

补充说明

  • HttpPipelinePosition枚举的三个可选场景:
    • PerCall:每个原始请求仅执行一次,适合代理配置、全局日志等通用处理逻辑
    • PerRetry:每次请求(包括自动重试的请求)都会执行,适合需要逐次处理的场景
    • BeforeTransport:在请求提交到传输层之前执行,一般仅用于特殊底层处理需求

内容的提问来源于stack exchange,提问作者gabida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:54:00