我正在使用下面的python代码将文件保存到本地文件夹中。我想将此文件直接保存到Azure Blob。我不希望将文件存储在本地然后上传到Blob。
我尝试在文件夹变量中提供blob位置,但是它不起作用。我有一个要从Web浏览器读取的excel文件,并使用python保存到Azure blob。
folder = 'Desktop/files/ab'
r = requests.get(api_end_point, headers=api_headers, stream=True)
with open(folder, 'wb') as f:
f.write(r.content)
答案 0 :(得分:1)
首先,您应该像流一样获取文件。
import os
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
connect_str = os.getenv('str')
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
container_name = "test"
container_client = blob_service_client.get_container_client(container_name)
blob_client = blob_service_client.get_blob_client(container_name, "MyFirstBlob.txt")
blob_client.upload_blob(req.get_body(), blob_type="BlockBlob")
在我这边,我将数据放入请求正文中,然后将其上传到蔚蓝的Blob中。它是流。您还可以在其中放入流。
这些是官方文档: