在Azure Blob存储中删除软删除Blob版本遇Python SDK报错求助
问题解决:永久清除Azure Blob已软删除的版本
可行性说明
可以仅永久清除已软删除的Blob版本,无需删除根Blob。你遇到的报错是因为调用delete_blob时参数使用错误。
错误原因
当指定version_id操作单个版本时,不能搭配delete_snapshots="include"参数——这个参数是针对根Blob的快照批量操作,而版本是独立实体,不需要该参数。
修正后的代码
直接调用delete_blob()即可,无需传递delete_snapshots参数:
[...] blob = container_client.get_blob_client( blob_name, version_id=version_id, ) # 移除delete_snapshots参数,直接删除指定的已软删除版本 blob.delete_blob()
补充注意事项
- 已软删除的版本处于"已删除"状态,调用
delete_blob()会将其永久删除,无法恢复 - 确认你使用的
azure-storage-blob==12.24.0版本支持单个版本的删除操作(该版本确实支持此功能) - 执行前务必核对版本ID,避免误删有效版本
内容的提问来源于stack exchange,提问作者ahoereth
相关产品推荐
相关产品推荐

