无法使用 AZ CL 删除 Azure 共享无法使用 AZ CLI 或 REST APII 或 REST API 删除 Azure 共享

问题描述 投票:0回答:1

我无法删除共享,因为存在以下问题:

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”,“消息”:“

LeaseNotPresentWithLeaseOperation
有 目前该文件没有租约 分享。 请求ID:003d9a62-901a-00a8-0a12-0609c8000000 时间:2023-10-24T00:39:16.3735661Z"}})

如有任何帮助,我们将不胜感激。谢谢。

azure rest command-line-interface storage account
1个回答
0
投票

无法删除共享,因为一个或多个共享快照具有活动租约。释放共享快照租约或使用 x-ms-delete-snapshots 的 include-leased 参数删除共享。

您的

File-share
中显示的错误在某些文件中存在一些活动快照或租约,因此无法删除。

我同意夜魔侠的评论,其中

Lease
可能位于快照而不是主要共享上。

在我的环境中,我有一个带有如下租约的文件:

传送门:

enter image description here

您可以使用以下命令来中断 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

上述命令将中断文件的租约。

输出:

enter image description here

现在您可以使用相同的命令来删除现在要删除的共享。

参考:

租赁文件(FileREST API)- Azure 文件 |微软学习

© www.soinside.com 2019 - 2024. All rights reserved.