无法使用AZ CLI或REST API删除Azure文件共享问题求助
解决Azure文件共享删除失败(快照带租约)问题
方法1:直接删除共享及带租约的快照
修改原删除命令,将--delete-snapshots include替换为--delete-snapshots include-leased,该参数允许直接删除带有活跃租约的快照:
az storage share delete --name share1 --account-key $key --account-name $sa_name --delete-snapshots include-leased
方法2:先解除快照租约再删除
如果方法1无法生效,可按以下步骤操作:
- 列出共享的所有快照,定位带租约的快照:
az storage share snapshot list --name share1 --account-key $key --account-name $sa_name
查看返回结果中的lease字段,记录带有租约的快照ID(格式为时间戳,如2023-10-20T12:34:56.0000000Z)。
- 解除快照的租约:
针对目标快照执行租约解除命令(你之前错误操作了主共享的租约,而租约实际存在于快照上,因此会提示“无租约”):
az storage share snapshot lease break --name share1 --snapshot "快照ID" --account-key $key --account-name $sa_name
- 重新执行删除命令:
az storage share delete --name share1 --account-key $key --account-name $sa_name --delete-snapshots include
关于你之前的REST API错误说明
你调用的REST API针对的是主文件共享,但租约实际绑定在快照上,因此返回LeaseNotPresentWithLeaseOperation错误。若要通过REST API解除快照租约,正确的URI格式应为:
https://{SA_NAME}.file.core.windows.net/share1?snapshot=<快照ID>
请求方法为PUT,请求头需包含x-ms-lease-action: break、x-ms-date等必要字段,无需请求体。
内容的提问来源于stack exchange,提问作者Digger
相关产品推荐
相关产品推荐

