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

如何使用Python在Azure中创建Blob容器及报错排查

Azure Blob Python创建容器报错解决方案

错误根因

报错的核心原因是 os.getenv('AZURE_STORAGE_CONNECTION_STRING') 没有读取到对应的环境变量,返回了None值,后续SDK尝试对None执行rstrip方法就抛出了属性错误。你代码里打印的“Connection established to Azure storage account from the Python App”是误报,这行代码在类加载的时候就会执行,并没有实际验证连接是否有效。

解决步骤

  • 第一步:获取正确的存储账户连接字符串
    登录Azure门户,进入你的存储账户,左侧菜单找到「安全 + 网络」分类下的「访问密钥」,复制任意一组密钥对应的连接字符串。
  • 第二步:配置环境变量
    根据你使用的操作系统,执行对应命令临时配置环境变量(仅当前终端会话生效):
    • Windows(cmd):set AZURE_STORAGE_CONNECTION_STRING="你复制的连接字符串"
    • Windows(PowerShell):$env:AZURE_STORAGE_CONNECTION_STRING="你复制的连接字符串"
    • Linux/macOS:export AZURE_STORAGE_CONNECTION_STRING="你复制的连接字符串"
      如果要永久生效,Windows可以在系统环境变量里新增该变量,Linux/macOS可以把上面的export命令写入~/.bashrc或者~/.zshrc文件。
  • 第三步:验证配置生效
    配置完成后重启你运行代码的终端或者IDE,可以在代码里加一行打印确认变量是否读取成功:print(self.connection_str),如果输出不是None就是配置正常。
  • 临时测试方案
    如果只是想先验证代码逻辑是否正常,可以先把连接字符串直接赋值给变量,替换掉connection_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')这行,改为:
    connection_str = "你复制的完整连接字符串"
    
    注意生产环境不要硬编码密钥,避免泄露风险。

代码优化建议

你可以把实例化BlobServiceClient的逻辑也移入try块内,才能捕获到连接相关的异常,调整后代码如下:

def create_container_sample(self):
    try:
        blob_service_client = BlobServiceClient.from_connection_string(self.connection_str)
        container_client = blob_service_client.get_container_client("mycontainer")
        container_client.create_container()
        list_response = blob_service_client.list_containers()
    except Exception as ex:
        print('Exception:')
        print(ex)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:54:05