Код PowerShell для получения содержимого BLOB-объекта на локальном компьютере - PullRequest
2 голосов
/ 20 марта 2020

Код PowerShell для получения содержимого BLOB-объекта на локальном уровне.

Объяснение приведенного ниже сценария -

У меня написан код о том, как загрузить уровень папки BLOB-объектов на локальный и его работу. Но мое основное внимание, как показано ниже, подсказывает мне, как этого можно достичь. Учетная запись хранения имеет контейнер --folder1,2et c .. folder1 внутри, который будет иметь dir1, 2 et c .., теперь я хочу получить содержимое определенного dir1 из папки 1, используя PS.

Уже работающий код на уровне папок приведен ниже для справки - направьте меня на следующий уровень.

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  
} 

Спасибо.

1 Ответ

1 голос
/ 20 марта 2020

Если вы хотите загрузить большие двоичные объекты из определенной подпапки в контейнере больших двоичных объектов, вам нужно будет указать путь к этой подпапке в параметре -Prefix для Get-AzStorageBlob Командлет.

Вот пример кода, который я написал для загрузки больших двоичных объектов из папки A/B/C в test контейнере больших двоичных объектов в учетной записи хранения для разработки.

$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  
} 
...