我无法删除共享,因为存在以下问题:
az storage share delete --name share1 --account-key $key --account-name $sa_name --delete-snapshots include
错误:
无法删除共享,因为一个或多个共享快照处于活动状态 租赁。释放共享快照租约或删除共享 x-ms-delete-snapshots 的 include-leased 参数。
使用 REST API 解除租约时:
body='
{
"action": "Break",
"leaseid": "LEASE_ID",
"breakPeriod": null,
"leaseDuration": null,
"proposedLeaseId": null
}'
headers='
{
"x-ms-lease-id": "LEASE_ID",
"x-ms-lease-action": "break",
"x-ms-date": "2023-10-22T23:40:54.0000000Z"
}'
uri="https://management.azure.com/subscriptions/{SubID}/resourceGroups/{RG_NAME}/providers/Microsoft.Storage/storageAccounts/{SA_NAME}/fileServices/default/shares/{SHARE_NAME}/lease?>
az rest --method post --body "$body" --headers "$headers" --uri "$uri"
错误:
冲突({“错误”:{“代码”:“LeaseNotPresentWithLeaseOperation”,“消息”:“
有 目前该文件没有租约 分享。 请求ID:003d9a62-901a-00a8-0a12-0609c8000000 时间:2023-10-24T00:39:16.3735661Z"}})LeaseNotPresentWithLeaseOperation
如有任何帮助,我们将不胜感激。谢谢。
无法删除共享,因为一个或多个共享快照具有活动租约。释放共享快照租约或使用 x-ms-delete-snapshots 的 include-leased 参数删除共享。
您的
File-share
中显示的错误在某些文件中存在一些活动快照或租约,因此无法删除。
我同意夜魔侠的评论,其中
Lease
可能位于快照而不是主要共享上。
在我的环境中,我有一个带有如下租约的文件:
传送门:
您可以使用以下命令来中断 Azure 文件共享中的租约。
命令:
$headers = @{
"x-ms-lease-action"= "break"
}
$uri = "https://<storage account name>.file.core.windows.net/<sharename>/<path upto filename>?comp=lease&sv=2022-11-02&ss=bfqt&srt=sco&sp=rwdlacupiytfx&se=2023-10-24T12:16:53Z&st=2023-10-24T04:16:53Z&spr=https&sig=xxx" #fileurl+sastoken
Invoke-RestMethod -Method Put -Headers $headers -Uri $uri
上述命令将中断文件的租约。
输出:
现在您可以使用相同的命令来删除现在要删除的共享。
参考: