如何列出Azure存储容器和Blob

Mat*_*ice 4 powershell azure azure-storage

我是Azure存储的新手,我想我可能会误解一些概念.

我想使用PowerShell列出我的所有存储容器和Blob.

我可以使用以下代码列出所有存储帐户:

Get-AzureStorageAccount | Select StorageAccountName, GeoPrimaryLocation
Run Code Online (Sandbox Code Playgroud)

每个存储帐户都有一个Container.我怎么得到它?我没有看到列出容器的命令.有一个Get-AzureStorageContainer命令,但它不会将存储帐户作为输入.

我错过了什么?

- 编辑 -

我看到我可以做到以下几点:

$context = New-AzureStorageContext -StorageAccountName myStorageAccount -StorageAccountKey xxx
Get-AzureStorageContainer -Context $context
Get-AzureStorageBlob -Context $context -Container myContainer
Run Code Online (Sandbox Code Playgroud)

为什么需要上下文?

Bre*_*een 9

不确定这是否是你想要的,但我能够使用New-AzureStorageContext和列出容器Get-AzureStorageContainers.

$ctx = New-AzureStorageContext -StorageAccountName <name> -StorageAccountKey <key>

Get-AzureStorageContainer -Context $ctx
Run Code Online (Sandbox Code Playgroud)


BIC*_*ube 8

使用新Az模块,您需要执行以下操作

Import-Module Az
$azStorageAccountName = "" # Name of your storage account 
$azStorageAccountKey = "" # Access key for your storage account
$azContainerName = "" # Container name to list your blobs
$azResourceGroupName = "" # Resource group name where storage account lives

$connectionContext = (Get-AzStorageAccount -ResourceGroupName $azResourceGroupName -AccountName $azStorageAccountName).Context
# Get a list of containers in a storage account
Get-AzStorageContainer -Name $azContainerName -Context $connectionContext | Select Name
# Get a list of blobs in a container 
Get-AzStorageBlob -Container $azContainerName -Context $connectionContext | Select Name
Run Code Online (Sandbox Code Playgroud)