Azure存储账户创建后未生成blob.core.windows.net端点故障问询
存储账户生成非标准DNS端点的原因及解决方案
核心原因
- Azure新存储DNS架构灰度推送
微软2024年中开始在部分区域按订阅分批灰度上线新的存储分区DNS命名规则,新端点格式为<存储账户名>.<分区编码>.<服务类型>.storage.azure.net,替代原有<存储账户名>.<服务类型>.core.windows.net的旧格式。你的订阅刚好在9月被纳入对应区域的灰度范围,所以不管用CLI还是门户创建存储账户都会生成新格式端点,和你的操作、脚本无关。 - 订阅开启了存储分区DNS预览功能
如果订阅管理员主动启用了「存储分区DNS终结点」预览特性,该订阅下指定区域新创建的所有存储账户都会默认使用新DNS后缀,不会生成旧格式端点。 - 特殊Azure环境配置
部分受限访问区域、新增可用区或主权云环境也会默认使用新后缀,若你之前在同区域创建过旧格式端点的存储账户,可排除该原因。
修复方案
- 调整AZ CLI脚本逻辑,不再依赖CLI默认拼接旧域名,先查询实际端点再执行后续操作:
# 查询存储账户实际blob端点 BLOB_ENDPOINT=$(az storage account show -g <资源组名> -n <存储账户名> --query "primaryEndpoints.blob" -o tsv) # 传入端点创建容器 az storage container create --auth-mode login --blob-endpoint $BLOB_ENDPOINT --name documents --public-access off
- 修复ADF流水线配置,将存储账户的访问配置改为使用Azure资源ID关联,或手动填入实际的服务端点地址,避免自动拼接旧格式域名。
- 如需回退到旧域名格式,可在订阅的「预览功能」管理页面关闭「存储分区DNS终结点」特性,关闭后新创建的存储账户就会恢复为core.windows.net后缀的端点。
内容的提问来源于stack exchange,提问作者Martin Waugh
相关产品推荐
相关产品推荐

