Mik*_*e U 5 c# azure azure-storage-blobs
是否可以列出上次修改日期大于指定日期的容器上的所有 blob。
我有一个包含数百万个 blob 的容器,想将这些 blob 复制到备份容器,但不想遍历所有 blob,检查每个 blob 的上次修改日期。
可以使用 Powershell 来完成。请参阅下面的片段。
$StorageAccountName = "AccountName"
$StorageAccountKey = "What_ever_your_key_is_123asdf5524523A=="
$Context = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$ContainerName = "Container"
$Blobs = Get-AzureStorageBlob -Container $ContainerName -Context $Context `
| Where-Object{$_.LastModified.DateTime -gt (Get-Date).Date}
Run Code Online (Sandbox Code Playgroud)
上面的命令将从午夜开始获取当天的 blob。
然后,您可以使用 cmdlet 上的功能Get-Date进一步缩小时间范围,如下所示。
$Blobs = Get-AzureStorageBlob -Container $ContainerName -Context $Context `
| Where-Object{$_.LastModified.DateTime -gt ((Get-Date).Date).AddDays(-1)}
Run Code Online (Sandbox Code Playgroud)
您还可以通过管道传输到 cmdlet 来对此进行排序,Sort-Object如下所示,以对任何属性进行排序(我在下面的示例中按日期进行排序)。
$Blobs = Get-AzureStorageBlob -Container $ContainerName -Context $Context `
| Where-Object{$_.LastModified.DateTime -gt (Get-Date).Date.AddDays(-1)} `
| Sort-Object -Property Date
Run Code Online (Sandbox Code Playgroud)
是否可以列出上次修改日期大于指定日期的容器上的所有 blob。
截至今天,这是不可能的。Blob 服务不提供查询功能。当您列出 blob 时,Blob 服务将返回一个按 blob 名称排序的列表。
不是现在,但是如果您需要此功能,您可能希望通过在名称前加上年、月和日期来按日期组织 Blob。然后,您可以要求 blob 服务返回以特定前缀开头的 blob 名称。如果使用Azure App Service,请查看 Azure 应用服务的诊断数据如何存储在 blob 容器中。它以年、月和日为前缀。
| 归档时间: |
|
| 查看次数: |
8087 次 |
| 最近记录: |