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

本地文件上传至Azure容器时触发ResourceNotFoundError(容器不存在)问题求助

排查并解决Azure容器上传的ContainerNotFound错误

咱们一步步拆解这个「容器不存在」的错误,逐个排查解决:

1. 存储账户名配置错误(最可能的根源)

先看你的config.yaml里的连接字符串:

azure_storage_connectionstring: "DefaultEndpointsProtocol=https;AccountName=container_name;AccountKey=XYZ;EndpointSuffix=core.windows.net"

这里犯了一个关键错误:AccountName应该填你的Azure存储账户名称,而不是容器名!你现在把容器名填到了存储账户的位置,导致代码连到了错误的(甚至不存在的)存储账户,自然找不到目标容器。

比如你的存储账户实际叫my-project-storage,那连接字符串里的AccountName要改成my-project-storage。

2. 目标容器确实未创建

就算存储账户配置正确,如果你的Azure存储账户里根本没有创建container_name这个容器,也会触发这个错误。你可以:

  • 登录Azure门户,找到对应的存储账户,进入「容器」页面,确认目标容器是否存在;
  • 如果不存在,要么在门户手动创建,要么在代码里添加自动创建逻辑(需要你的账户密钥拥有容器创建权限)。修改upload函数如下:
def upload(files, connection_string, container_name):
    container_client = ContainerClient.from_connection_string(connection_string, container_name)
    # 先检查容器是否存在,不存在则自动创建
    if not container_client.exists():
        container_client.create_container()
    for file in files:
        blob_client = container_client.get_blob_client(file.name)
        with open(file.path, "rb") as data:
            blob_client.upload_blob(data)

3. 容器名称拼写或格式错误

Azure存储容器名称有严格规则:必须全小写,只能包含字母、数字和短横线(不能以短横线开头或结尾)。检查config.yaml里的container_name是否符合规则,且和Azure门户里的容器名完全一致(大小写敏感)。

4. 额外验证:文件路径是否正确

虽然这不是当前错误的直接原因,但建议确认source_folder和get_files里的路径是否正确,比如config["source_folder"] + "/file"是否指向实际存在的文件目录,避免后续出现上传空列表的问题。

修改完存储账户配置,再加上容器存在性检查的逻辑,应该就能顺利解决这个错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 07:09:10