我正在尝试将文件从本地复制到 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"])