0

我正在尝试将文件从本地复制到 Azure 容器。下面给出的是代码,但它返回一个错误

azure.core.exceptions.ResourceNotFoundError: The specified container does not exist.
RequestId:cef3600b-d01e-0083-2dc6-94d237000000
Time:2021-08-19T06:48:58.8752991Z
ErrorCode:ContainerNotFound
Error:None

它指向下面的代码行

blob_client.upload_blob(data)

config.yaml 文件

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

将文件复制到 Azure 容器的代码

import os
import yaml
from azure.storage.blob import ContainerClient

def load_config():
    dir_root = os.path.dirname(os.path.abspath(__file__))
    with open('/filepath/config.yaml', "r") as yamlfile:
        return yaml.load(yamlfile, Loader=yaml.FullLoader)

def get_files(dir):
    with os.scandir(dir) as entries:
        for entry in entries:
            if entry.isfile() and not entry.name.startswith('.'):
                yield entry

def upload(files, connection_string, container_name):
    container_client = ContainerClient.from_connection_string(connection_string, container_name)

    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)


config = load_config()
files = get_files(config["source_folder"] + "/file")
upload(files, config["azure_storage_connectionstring"], config["container_name"])
4

0 回答 0