如何使用 Python 更新现有 Azure blob 的内容

How to update content of an existing Azure blob with Python

我正在寻找 update/overwrite 一个简单的 azure blob 的内容,它包含一个 txt 文件,里面有一个简单的日期字符串。我用它来存储某个进程的最后 运行 时间。

我尝试了几种方法,但都没有成功,我也在努力寻找任何对我的事业有帮助的文件。感谢任何帮助或建议。

import datetime
from azure.storage.blob import BlobServiceClient, BlobClient

maxdate = datetime.datetime.now()
now = maxdate.strftime("%m-%d-%YT%H:%M:%S")

def upload_to_blob(data):

  conn_str = "<conn_str>"
  blob_service_client = BlobServiceClient.from_connection_string(conn_str)

  blob_client = blob_service_client.get_blob_client(container="vstscontainerreleases", blob="last_run.txt")

  blob_client.upload_blob(data)

upload_to_blob(now)

我尝试了上述简单的重新上传相同的 blob,但收到一条错误消息,提示 blob 已经存在。

Time:2021-08-18T11:53:00.0692411Z
ErrorCode:BlobAlreadyExists
Error:None

请尝试更改以下代码行:

blob_client.upload_blob(data)

blob_client.upload_blob(data, overwrite=True)

这应该有效。