使用 AZCopy 一次从所有容器下载 blob

Using AZCopy to download blobs from all containers at one time

我需要从 Azure 存储帐户复制所有容器和 blob。我已经想出如何一次下载一个容器,但这非常乏味。我想一次性全部下载。

有人知道这方面的信息吗?

谢谢,

詹姆斯

据我所知,我们无法使用azcopy将所有容器的文件一次复制到本地。

如你所说,我们一次可以下载一个容器到本地

这里有一个解决方法:

我们可以先使用命令行工具(例如powershell)列出所有容器(Get-AzureStorageContainer),然后使用foreach将文件下载到本地。

像这样的powershell脚本:

$SourceStorageAccountName = "<SourceStorageAccountName>"
$SourceStorageKey = Get-AzureStorageKey -StorageAccountName $SourceStorageAccountName
$StorageContext = New-AzureStorageContext -StorageAccountName $SourceStorageKey.StorageAccountName -StorageAccountKey $SourceStorageKey.Primary
$containers = Get-AzureStorageContainer -Context $StorageContext

foreach ($c in $containers) {
    "Transfer container " + $c.Name
    $cmd = "C:\'Program Files (x86)'\'Microsoft SDKs'\Azure\AzCopy\AzCopy.exe /Source:" + $c.CloudBlobContainer.Uri.AbsoluteUri + " /Dest: +"youfile path"

    Invoke-Expression $cmd
}