我需要将 Python 生成的图像上传到 Azure Blob 存储,而不将其保存在本地。此时,我生成一个图像,将其保存在本地并将其上传到存储(请参阅下面的代码),但我需要为大量图像运行它,并且需要它不依赖于本地存储。
我尝试以流(特别是字节流)的形式保存它,因为上传似乎也在使用流(抱歉,如果这是一种幼稚的方法,我在Python方面没有那么丰富的经验),但我不知道如何在上传过程中使用它。如果我以与打开本地文件相同的方式使用它,它会上传一个空文件。
我使用的是 azure-storage-blob 版本 12.2.0。我注意到,在以前版本的 azure-storage-blob 中,可以从流上传(特别是 BlockBlobService.get_blob_to_stream),但我在这个版本中找不到它,并且由于某些依赖项,我无法降级包。
非常感谢任何帮助。
import matplotlib.pyplot as plt
import numpy as np
from io import BytesIO
from azure.storage.blob import ContainerClient
# create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.sin(2 * np.pi * t)
# plot it
fig, ax1 = plt.subplots()
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp')
ax1.plot(t, data1)
# save it locally
plt.savefig("example.png")
# create a blob client and upload the file
container_client = ContainerClient.from_container_url(container_SASconnection_string)
blob_client = container_client.get_blob_client(blob …Run Code Online (Sandbox Code Playgroud)