PowerShell 删除 blob 仍然会发现以前删除的旧 blob?
PowerShell deletion of blobs still finds old previously deleted blobs?
我们的 powershell 测试工具调用 databricks,它在 azure 存储中生成 parquet 文件。
当工具在测试后尝试清理镶木地板(和其他文件)时运行,它会搜索所有斑点(在给定位置)并将其删除。显然,清理后在 Azure 门户中看不到 blob,但是当脚本再次 运行s 时,它会发现越来越多的可用 blob 需要删除,在每次测试后 运行.
这是某些 soft/hard 删除策略的情况吗?
删除 blob 时我没有指定快照参数,因为我对保留快照不感兴趣。
使用的部分代码是:
$availableBlobs = Get-AzStorageBlob -Container $remoteContainer -Context $ctx
$ctx = GetStorageContext -storageaccountName $remoteStorageAccount -storageaccountkey $remoteStorageKey
$availableBlobs = Get-AzStorageBlob -Container $remoteContainer -Context $ctx
Remove-AzStorageBlob -Container $using:remoteContainer -Blob $blob.Name -Force -Context $using:ctx -ErrorAction SilentlyContinue
为什么 remove-AzStorageBlob 似乎完全删除了一个 blob - 这样 blob 不再可见,但似乎增加了清理脚本下一个 运行 时发现的增加的 blob 计数?
附加信息
从 remote-AzStorageBlob 中删除 Remove -ErrorAction SilentlyContinue 后,似乎在删除所有 $availableBlob 的过程中出现了错误 500:
在随后尝试 运行 相同代码时,错误不会出现在同一点。
您可能达到了潜在的 API 请求限制。虽然他们没有明确表示“删除”请求的数量,但如果我们假设它类似于“写入”请求,则 API 被限制为每秒 10 个请求 (Storage resource provider limits)。像这样的脚本很容易超过那个。
只需添加一个 Start-Sleep -Milliseconds 100
语句或等效语句来减慢 API 处理的请求。
我们的 powershell 测试工具调用 databricks,它在 azure 存储中生成 parquet 文件。
当工具在测试后尝试清理镶木地板(和其他文件)时运行,它会搜索所有斑点(在给定位置)并将其删除。显然,清理后在 Azure 门户中看不到 blob,但是当脚本再次 运行s 时,它会发现越来越多的可用 blob 需要删除,在每次测试后 运行.
这是某些 soft/hard 删除策略的情况吗?
删除 blob 时我没有指定快照参数,因为我对保留快照不感兴趣。
使用的部分代码是:
$availableBlobs = Get-AzStorageBlob -Container $remoteContainer -Context $ctx
$ctx = GetStorageContext -storageaccountName $remoteStorageAccount -storageaccountkey $remoteStorageKey
$availableBlobs = Get-AzStorageBlob -Container $remoteContainer -Context $ctx
Remove-AzStorageBlob -Container $using:remoteContainer -Blob $blob.Name -Force -Context $using:ctx -ErrorAction SilentlyContinue
为什么 remove-AzStorageBlob 似乎完全删除了一个 blob - 这样 blob 不再可见,但似乎增加了清理脚本下一个 运行 时发现的增加的 blob 计数?
附加信息 从 remote-AzStorageBlob 中删除 Remove -ErrorAction SilentlyContinue 后,似乎在删除所有 $availableBlob 的过程中出现了错误 500:
在随后尝试 运行 相同代码时,错误不会出现在同一点。
您可能达到了潜在的 API 请求限制。虽然他们没有明确表示“删除”请求的数量,但如果我们假设它类似于“写入”请求,则 API 被限制为每秒 10 个请求 (Storage resource provider limits)。像这样的脚本很容易超过那个。
只需添加一个 Start-Sleep -Milliseconds 100
语句或等效语句来减慢 API 处理的请求。