使用AzureDnsZone端点类型的存储账户无法创建容器
解决AzureDNSZone类型存储账户创建容器失败的问题
问题原因
当存储账户采用AzureDNSZone端点类型时,其Blob服务端点不再是标准的{accountname}.blob.core.windows.net格式,而是使用自定义DNS区域下的专属端点。az storage container create命令默认会使用标准端点发起请求,导致域名解析失败,出现getaddrinfo failed错误。
解决方案
方法1:手动指定Blob服务端点
- 先获取存储账户的Blob服务端点:
az storage account show --resource-group "rg-ci" --name "deletethisstaazdns001" --query "primaryEndpoints.blob" --output tsv
- 在创建容器的命令中添加
--endpoint参数,指定获取到的端点:
az storage container create --account-name "deletethisstaazdns001" --name "test" --public-access Container --endpoint "替换为实际Blob端点"
方法2:使用存储账户连接字符串
- 获取存储账户的连接字符串:
az storage account show-connection-string --resource-group "rg-ci" --name "deletethisstaazdns001" --output tsv
- 通过连接字符串执行容器创建命令:
az storage container create --connection-string "替换为实际连接字符串" --name "test" --public-access Container
注意事项
所有针对AzureDNSZone类型存储账户的存储操作CLI命令,都需要通过上述两种方式指定正确的访问端点,否则会因默认标准端点无法解析而失败。
内容的提问来源于stack exchange,提问作者Venkata Dorisala
相关产品推荐
相关产品推荐

