用于将Blob内容获取到本地的PowerShell代码。
以下方案的说明-
我已经编写了有关如何将Blob文件夹级别下载到本地及其工作方式的代码。 但是,我的主要重点如下,这向我建议了如何实现这一目标。 存储帐户具有容器--folder1,2etc.。 其中的folder1将具有dir1、2等, 现在我想使用PS从文件夹1中获取特定dir1的内容。
下面已在文件夹级别上运行的代码供参考-指导我进入下一个级别。
Connect-AzAccount -Subscription "XXXX"
$container_name = 'A/B/C'
$destination_path = "C:\Users\Anirudh\Documents\upload\"
$storage_account = New-AzStorageContext -StorageAccountKey "XXXXX" -StorageAccountName "XXXXX"
$blobs = Get-AzStorageBlob -Container $container_name -Context $storage_account
foreach($blob in $blobs) {
New-Item -ItemType Directory -Force -Path $destination_path
Get-AzStorageBlobContent -Container $container_name -Blob $blob.Name -Destination $destination_path -Context $storage_account
}
谢谢。
答案 0 :(得分:1)
如果要从Blob容器中特定子文件夹下载Blob,则需要在Get-AzStorageBlob
Cmdlet的-Prefix
参数中指定该子文件夹的路径。
这是我编写的示例代码,该示例代码从开发存储帐户中A/B/C
blob容器的test
文件夹中下载blob。
$container_name = "test"
$destination_path = "D:\temp\"
$storage_account = New-AzStorageContext -ConnectionString "UseDevelopmentStorage=true"
$path = "A/B/C" # This is the path of the sub folder inside the blob container.
$blobs = Get-AzStorageBlob -Container $container_name -Prefix $path -Context $storage_account
foreach($blob in $blobs) {
New-Item -ItemType Directory -Force -Path $destination_path
Get-AzStorageBlobContent -Container $container_name -Blob $blob.Name -Destination $destination_path -Context $storage_account
}