使用 python 将 csv 文件上传到 azure blob 存储
Posted
技术标签:
【中文标题】使用 python 将 csv 文件上传到 azure blob 存储【英文标题】:Uploading csv file using python to azure blob storage 【发布时间】:2019-12-01 17:43:17 【问题描述】:我正在尝试将 csv 文件上传到容器。它不断给我一个错误,说 - 重试策略不允许重试:,HTTP状态代码=未知,异常=HTTPSConnectionPool
这是我的代码 -
from azure.storage.blob import BlockBlobService
block_blob_service = BlockBlobService(account_name='myAccoutName', account_key='myAccountKey')
block_blob_service.get_blob_to_path(container_name='test1', blob_name='pho.csv', file_path = 'C:\\Users\\A9Q5NZZ\\pho.csv')
我是 Python 新手,所以如果你能用简单的语言回答,那将非常有帮助。
忘记上传 CSV 文件,它甚至不允许我查看现有容器中的现有 blob!它为以下代码提供了相同的“重试策略”错误 -
container_name = 'test1'
generator = block_blob_service.list_blobs(container_name)
for blob in generator:
print("\t Blob name: " + blob.name)
我知道我已经问了两个问题,但我认为错误是一样的。任何帮助表示赞赏。同样,由于我是 Python 新手,所以用更简单的术语解释/代码会很棒!
【问题讨论】:
【参考方案1】:您使用的方法get_blob_to_path
用于将blob 下载到本地。如果你想将本地文件上传到azure blob存储,你应该使用这个方法block_blob_service.create_blob_from_path(container_name="",blob_name="",file_path="")
示例代码在我身边工作:
from azure.storage.blob import BlockBlobService
block_blob_service = BlockBlobService(account_name='xxx', account_key='xxxx')
block_blob_service.create_blob_from_path(container_name="mycontainier",blob_name="test2.csv",file_path="D:\\temp\\test2.csv")
【讨论】:
谢谢 Ivan,这是我得到的错误 - block_blob_service.create_blob_from_path(container_name="ekaur",blob_name="fleet.xlsx",file_path="C:\\Users\\A9Q5NZZ\\fleet .xlsx") Client-Request-ID=d72393d4-ae1e-11e9-8580-88b111bc9f5c 重试策略不允许重试:,HTTP 状态代码=未知,异常=HTTPConnectionPool(host='***%20.blob。 core.windows.net',端口 = 80):最大重试次数超过 url:/ekaur/fleet.xlsx(由 NewConnectionError('以上是关于使用 python 将 csv 文件上传到 azure blob 存储的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 将 csv 文件加载到 SnowFlake 表中
CSV 数据通过 Python 上传到 SQL 表时导致错误
通过 python 将 csv 文件插入 MySQL。运行但数据未填充到表中