如何解决在 Azure 存储中查找软删除 Blob 的永久删除日期
几周前,我在受软删除保护的 Azure 存储帐户中删除了大量 blob (50TB+)。软删除配置了 14 天的保留期,我后来改为 7 天。
然而,14 天过去了,blob 仍未被永久删除,因为在 Azure 门户中选择“显示已删除的 blob”时我仍然可以看到它们。 这也意味着我仍然需要支付存储费用。
有没有办法找出一个 blob 的实际删除日期?我还在 Insights 下看到已用容量仍保持不变。
解决方法
如果您使用 REST API,当您使用 deleted
作为 include
参数的值之一列出 Blob 时(以便列表结果包含软删除的 Blob),您可以找到这个通过检查结果中的两个属性来获取信息:
-
Deleted-Time
:它会告诉您删除 Blob 的日期/时间。 -
RemainingRetentionDays
:它会告诉您从存储中永久删除 blob 的剩余天数。
从此link
:
对于 2017-07-29 及以上版本,Deleted、DeletedTime 和 当此操作包括 包含={已删除} 参数。如果此 blob,则不会出现这些元素 没有被删除。这些元素出现在 blob 或快照中 启用软删除功能时使用 DELETE 操作删除。 对于软的 blob 和快照,已删除的元素设置为 true 删除。 Deleted-Time 对应于 blob 被删除的时间。 RemainingRetentionDays 表示软 删除的 blob 将被 blob 服务永久删除。
如果您使用 Azure.Storage.Blobs (.Net SDK)
,您会在以下属性中找到此信息:BlobItemProperties.DeletedOn
和 BlobItemProperties.RemainingRetentionDays
。
对于其他语言,您可以在相应的 SDK 中搜索类似的属性。
更新
请尝试以下操作:
$context = New-AzStorageContext -StorageAccountName account-name -StorageAccountKey account-key
$blobs = Get-AzStorageBlob -Container 001-000 -IncludeDeleted -Context $context
$blobs.ICloudBlob.Properties | ConvertTo-Json
输出将类似于以下内容。下面的第一个 blob 不会被删除,因此 DeletedTime
和 RemainingDaysBeforePermanentDelete
将为空。第二个 blob 被软删除,并将填充这些值。
{
"CacheControl": null,"ContentDisposition": null,"ContentEncoding": null,"ContentLanguage": null,"Length": 89,"ContentMD5": "nax+W2kkfQqP8+K6dj2uFw==","ContentType": "image/svg+xml","ETag": "\"0x8D951D0C90A29CA\"","Created": "\/Date(1627481141000)\/","LastModified": "\/Date(1627481141000)\/","BlobType": 2,"LeaseStatus": 2,"LeaseState": 1,"LeaseDuration": 0,"PageBlobSequenceNumber": null,"AppendBlobCommittedBlockCount": null,"IsServerEncrypted": true,"IsIncrementalCopy": false,"StandardBlobTier": null,"RehydrationStatus": null,"PremiumPageBlobTier": null,"BlobTierInferred": null,"BlobTierLastModifiedTime": null,"DeletedTime": null,"RemainingDaysBeforePermanentDelete": null
},{
"CacheControl": null,"Length": 98024,"ContentMD5": "/uZucSqKCO71gFpGiSkyrQ==","ContentType": "application/font-woff","ETag": "\"0x8D951D0C90AC631\"","LeaseStatus": 0,"LeaseState": 0,"DeletedTime": "\/Date(1627481162000)\/","RemainingDaysBeforePermanentDelete": 9
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。