繁体   English   中英

Azure BlobServiceClient 错误 InvalidResourceName

[英]Azure BlobServiceClient Error InvalidResourceName

将文件上传到 azure blob 存储容器时出现问题,将 azure.storage.blob 用于 python 2.7。 (我知道我应该使用更新的 python,但它是大型 ROS 应用程序的一部分,因此不仅仅是升级它。)

from azure.storage.blob import BlobServiceClient
...
container_name = "operationinput"
self.back_up_root = "~/backup/sql/lp/"
self.back_up_root = os.path.expanduser(self.back_up_root)
file = 'test.sql'

try:
    client = BlobServiceClient.from_connection_string(conn_str=connection_string)
    blob = client.get_blob_client(container='container_name', blob='datafile')
except Exception as err:
    print(str(err))

with open(self.back_up_root + file, "rb") as data:
    blob.upload_blob(data)

我收到以下错误:

azure.core.exceptions.HttpResponseError: The specifed resource name contains invalid characters.
RequestId:3fcb6c26-101e-007e-596d-1c7d61000000
Time:2022-02-07T21:58:17.1308670Z
ErrorCode:InvalidResourceName

我发现的所有帖子都指的是使用大写字母左右的人,但我有:operationinput datafile

一切都应在规格范围内。

有任何想法吗?

我们尝试使用以下示例代码使用 SAS 令牌将文件上传到 Azure blob 存储(容器),并且能够成功实现。

代码示例:-

from azure.storage.blob import BlobClient

upload_file_path="C:\\Users\\Desktop\\filename"
sas_url="https://xxx.blob.core.windows.nethttps://cloudsh3D?sastoken"

client = BlobClient.from_blob_url(sas_url)

with open(upload_file_path,'rb') as data:
    client.upload_blob(data)

print("**file uploaded**")

在此处输入图像描述

要生成SAS urlconnection string ,我们选择如下:- 在此处输入图像描述

在此处输入图像描述

有关详细信息,请参阅此Microsoft 文档允许或禁止存储帐户的公共读取访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM