Я просто хочу скачать блоб Excel из Azure Хранилища, внести некоторые изменения, а затем загрузить его с новым именем, используя Azure Python SDK v12. Я нашел несколько вопросов здесь, используя v2.x с модулем blockblobservice. Но это не доступно в v12. Дополнительным ограничением является то, что я не хочу ничего локально, так как это часть безсерверного приложения.
Вот мой код и обозначения:
from azure.storage.blob import BlobClient
import io
import pandas as pd
#Download Blob: works fine
download_client=BlobClient.from_connection_string(
conn_str=az_str,
container_name=container_name,
blob_name=blob_name)
read = io.BytesIO()
download_stream = download_client.download_blob()
df = pd.read_excel(download_stream.readall())
#Make arbitrary changes: works fine
df_new = df.append(df)
print(df_new)
#Upload Blob: blob is empty
new_blob_name=f'UploadTest.xlsx'
upload_client = BlobClient.from_connection_string(
conn_str=az_str,
container_name=container_name,
blob_name=new_blob_name)
write = io.BytesIO()
df_new.to_excel(write, sheet_name='Test Sample')
upload_client.upload_blob(write, blob_type="BlockBlob", overwrite=True)