[英]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 url
和connection string
,我们选择如下:-
有关详细信息,请参阅此Microsoft 文档: 允许或禁止存储帐户的公共读取访问
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.