首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python将文件上传到Azure Blob存储中的容器

使用Python将文件上传到Azure Blob存储中的容器
EN

Stack Overflow用户
提问于 2022-06-04 10:36:10
回答 1查看 852关注 0票数 2

我想上传几个文件到一个容器。我已经尝试过提到here的方法,但是它没有起作用。

我现在拥有的是:

SAS:https://xxxx.blob.core.windows.net?sp=acw&st=2022-05-31T17:54:22Z&se=2022-06-05T10:59:59Z&sv=2020-08-04&sr=c&sig=H0g%2BY%2FOnNIaYNVTsX%2FP42buWaowxIlxQDJ0xqH0gvqQ%3D

容器名称:XYZ

我想上传文件到容器根目录,没有任何子文件夹。

编辑:到目前为止,我的代码:

代码语言:javascript
复制
sas = 'https://xxxx.blob.core.windows.net?sp=acw&st=2022-05-31T17:54:22Z&se=2022-06-05T10:59:59Z&sv=2020-08-04&sr=c&sig=H0g%2BY%2FOnNIaYNVTsX%2FP42buWaowxIlxQDJ0xqH0gvqQ%3D'

container = 'container_name'
sasUrlParts = urlparse(sas)
accountEndpoint = sasUrlParts.scheme + '://' + sasUrlParts.netloc
sasToken = sasUrlParts.query

blobSasUrl = accountEndpoint + '/' + container + '?' + sasToken

blobClient = BlobClient.from_blob_url(blobSasUrl)

with open('/file_to_be_uploaded.csv', 'rb') as f:
    blobClient.upload_blob(f)

,它在行blobClient = BlobClient.from_blob_url(blobSasUrl)中产生以下错误

代码语言:javascript
复制
ValueError: Invalid URL. Provide a blob_url with a valid blob and container name
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-04 11:59:15

我相信,之所以会出现错误,是因为您的blobSasUrl没有包含blob的名称。

请尝试更改以下代码行:

代码语言:javascript
复制
blobSasUrl = accountEndpoint + '/' + container + '?' + sasToken

代码语言:javascript
复制
blobName = 'file_to_be_uploaded.csv'
blobSasUrl = accountEndpoint + '/' + container + '/' + blobName + '?' + sasToken

你不应该得到你正在犯的错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72499058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档