![](/img/trans.png)
[英]Access Azure Blob using Python without Azure Storage Blob package
[英]Azure Blob Using Python
我正在访问一个允许我下载 CSV 文件的网站。 我想将 CSV 文件直接存储到 blob 容器中。 我知道一种方法是在本地下载文件然后上传文件,但我想跳过在本地下载文件的步骤。 有没有办法可以实现这一目标。
我尝试了以下方法:
block_blob_service.create_blob_from_path('containername','blobname','https://*****.blob.core.windows.net/containername/FlightStats',content_settings=ContentSettings(content_type='application/CSV'))
但我不断收到错误提示找不到路径。 任何帮助表示赞赏。 谢谢!
create_blob_from_path
中的 file_path 是本地文件的路径,看起来像“C:\xxx\xxx”。 此路径( 'https://*****.blob.core.windows.net/containername/FlightStats' )是 Blob URL。
您可以将文件下载到字节数组或 stream,然后使用create_blob_from_bytes
或create_blob_from_stream
方法。
其他答案使用所谓的“Azure SDK for Python legacy ”。
我建议如果它是新的实现,那么使用 Gen2 存储帐户(而不是 Gen1 或 Blob 存储)。
对于 Gen2 存储帐户,请参见此处的示例:
from azure.storage.filedatalake import DataLakeFileClient
data = b"abc"
file = DataLakeFileClient.from_connection_string("my_connection_string",
file_system_name="myfilesystem", file_path="myfile")
file.append_data(data, offset=0, length=len(data))
file.flush_data(len(data))
这很痛苦,如果您要多次附加,那么您将不得不跟踪客户端的offset
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.