You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python更新或覆盖已存在的Azure blob存储中的文件内容

问题解决方法

报错原因

BlobAlreadyExists报错是因为Azure Blob存储的Python SDK中,upload_blob方法默认不允许覆盖已存在的同名Blob,只要目标容器内有对应名称的文件,就会直接触发该错误。

修复方案

只需要在调用upload_blob方法时,添加overwrite=True参数即可开启覆盖权限,修改后的代码如下:

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")
  # 添加overwrite参数允许覆盖已有Blob
  blob_client.upload_blob(data, overwrite=True)

upload_to_blob(now)

额外说明

如果你的使用场景存在多进程同时写入该Blob的情况,为了避免意外覆盖,可以不用overwrite参数,改用先删除旧Blob再上传新Blob的逻辑,或者搭配if_match参数实现乐观锁控制。如果只是单进程定期写入记录运行时间,上述加overwrite=True的方案完全可以满足需求。

内容的提问来源于stack exchange,提问作者Harvey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:00:02