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

通过代码创建容器时如何设置公共访问类型?相关参数如何使用?

关于createWithResponse容器创建方法的参数说明及使用示例

参数含义说明

  • Map<String, String> metadata:容器的自定义元数据,为字符串类型的键值对,用于存储和业务相关的自定义标识,比如容器所属业务、创建人、用途等,无相关需求时可传空Map或null。
  • PublicAccessType accessType:容器的公共访问权限配置,需要公开访问时可选择两类枚举值:PublicAccessType.BLOB表示仅Blob文件可公开访问,无法枚举容器内的文件列表;PublicAccessType.CONTAINER表示容器本身和内部Blob列表、文件都支持公开访问,可按需选择。
  • Duration timeout:单次请求的超时时间,传null时会使用SDK内置的全局默认超时配置,不会完全取消超时限制。如果需要更长的超时时间,建议手动指定明确的时长,避免请求被默认逻辑中断。
  • Context context:本次请求的上下文对象,用于传递需要附加到HTTP请求中的额外信息,比如自定义请求头、链路追踪参数等,无特殊需求时直接传Context.NONE即可。

使用示例

最简调用示例(无自定义配置)

import com.azure.storage.blob.models.PublicAccessType;
import com.azure.core.util.Context;
import java.util.Collections;

// 无自定义元数据、使用默认超时、无额外上下文的公开容器创建
blobContainerClient.createWithResponse(
    Collections.emptyMap(),
    PublicAccessType.BLOB,
    null,
    Context.NONE
);

带自定义参数的调用示例

import com.azure.storage.blob.models.PublicAccessType;
import com.azure.core.util.Context;
import java.time.Duration;
import java.util.HashMap;
import java.util.Map;

// 配置自定义元数据
Map<String, String> containerMetadata = new HashMap<>();
containerMetadata.put("department", "data-analysis");
containerMetadata.put("creator", "ops003");
containerMetadata.put("usage", "public-resource-storage");

// 配置自定义上下文:添加自定义请求ID用于链路追踪
Context customContext = new Context("x-ms-client-request-id", "pub-container-20240520-001");

// 执行创建请求
blobContainerClient.createWithResponse(
    containerMetadata,
    PublicAccessType.CONTAINER,
    Duration.ofSeconds(30), // 手动指定30秒超时
    customContext
);

补充说明

如果需要完全不限制超时时间,不建议传null,可手动设置一个足够大的Duration值,比如Duration.ofHours(2),但该操作容易导致请求长期挂起,非特殊场景不推荐使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:36:03