【问题标题】:PowerShell Azure Blob Storage Exlude Specific ContentTypePowerShell Azure Blob 存储排除特定内容类型
【发布时间】:2020-07-22 15:03:33
【问题描述】:

我正在尝试列出所有不是 PDF 文件的 blob。我该怎么做? 我知道我可以像这样列出所有文件:

$StorageContext = New-AzStorageContext -StorageAccountKey XXX -StorageAccountName YYY
Get-AzStorageBlob -Container 'containerName' -Context $StorageContext

如果我想适应特定的内容类型,在下面的例子中为 png,我会将第二行更改为:

Get-AzStorageBlob -Container 'containerName' -Context $StorageContext -Blob *.png

但是除了特定的内容类型之外,我如何才能显示任何内容。就我而言,我想列出除 PDF 之外的所有内容?

【问题讨论】:

    标签: azure powershell azure-storage azure-blob-storage


    【解决方案1】:

    你可以使用下面的命令。

    Get-AzStorageBlob -Container 'containerName' -Context $StorageContext | Where-Object {!($_.Name -like '*.pdf')}
    

    【讨论】:

    • 嗨,如果一个名为aa.pdf.txt的文件呢?
    • @IvanYang 如果是的话,它也会包含在结果中,因为它是一个.txt 文件。
    • 谢谢。你是如此伟大和善良:)
    • 非常感谢您的帮助!
    • 如何再应用一个过滤器。我希望文件 LastModified 属性小于我指定的某个日期?
    【解决方案2】:

    我扩展了 @JoyWan 的版本以应用另一个过滤器。我想显示小于某个日期的所有文件:

    $filterDate = (Get-Date).AddMonths(-3) # get date 3 moths before
    
    $StorageContext = New-AzStorageContext -StorageAccountKey XXX -StorageAccountName YYY
    $blobs = Get-AzStorageBlob -Container 'containerName' -Context $StorageContext | where {($_.Name -notlike '*.pdf' -and $_.LastModified -le $filterDate)}
    

    此示例将显示所有超过 3 个月的文件。

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 2021-02-27
      • 2020-05-02
      • 1970-01-01
      • 2021-04-14
      • 2016-12-07
      • 2016-08-30
      • 2021-02-03
      • 1970-01-01
      相关资源
      最近更新 更多