【问题标题】:AzCopy - Wildcards In Middle Of Pattern?AzCopy - 模式中间的通配符?
【发布时间】:2021-02-27 06:06:40
【问题描述】:

场景: - 位于 Azure 存储中的备份 - 包含 >100,000 个文件夹的文件夹 - 每个文件夹里面都有一个文件,格式如下:MM-DD-YYYY_randomnumber.wav.gz

我们需要提取两个月内的所有文件(未知数字,可能是 30,000-40,000)。

看起来 AzCopy 是我们完成此任务所需的实用程序。

以下命令是我想象的它的工作方式,但我无法让它这样做:

AzCopy /Source:https://path.to.files/path/to/files /Dest:C:\test /SourceKey:key /Pattern:11-*-2016_*.wav.gz /S

以下获取父文件夹(它与其中的文件命名相同,只是没有 .wav.gz 扩展名),这并不理想,但可行。但是,这会抓取多年的文件:

AzCopy /Source:https://path.to.files/path/to/files /Dest:C:\test /SourceKey:key /Pattern:11 /S

我已阅读文档,其中提到通配符可以在某些情况下使用,但不能在其他情况下使用,但我不完全确定它的含义。

谢谢!

【问题讨论】:

    标签: azure azcopy


    【解决方案1】:

    我知道这个问题早就有人问过了,但现在 azcopy 中有一个 --include-pattern 标志,可以让您创建更具体的通配符模式,就像原始帖子中建议的那样。

    【讨论】:

      【解决方案2】:

      不,这是不可行的。根据 AzCopy 关于 /Pattern 选项的文档:

      如果指定的源是 Blob 容器或虚拟目录,则不应用通配符。如果指定了选项 /S,则 AzCopy 将指定的文件模式解释为 blob 前缀。如果未指定选项 /S,则 AzCopy 将文件模式与确切的 blob 名称进行匹配。

      【讨论】:

        【解决方案3】:

        您不必使用Azcopy,使用AzureRM 模块的几行powershell 应该可以下载文件。 虽然我没有用大量文件对其进行测试。

        使用 powershell,您可以轻松地编辑“blobnames”变量并使用通配符选择所需的正确文件夹和文件。 您选择的 Azure 存储帐户中的文件夹也将在您的本地驱动器上创建。

        $blobnames = "somebackups/2016.*/11-*-2016_*.wav.gz"
        

        下面的代码非常自我解释。

        $storageAccountName = "storage" 
        $storageAccountKey = "SuperLongKey"
        $containerName = "backup"
        $localDirectory = "c:/temp/stackoverflow"
        $blobnames = "11-*-2016_*.wav.gz"
        
        $ctx = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
        
        $blobsToDownload = Get-AzureStorageBlob -Context $ctx -blob $blobnames -Container $containerName
        
        $blobsToDownload | Get-AzureStorageBlobContent -Destination $localDirectory
        

        【讨论】:

          猜你喜欢
          • 2012-10-28
          • 2015-12-18
          • 2011-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-19
          相关资源
          最近更新 更多