2015-10-28 46 views
3

我是新来的Azure存储,我想我可能会误解一些概念。如何列出Azure存储容器和斑点

我想列出所有我的储存容器和斑点使用PowerShell。

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

Get-AzureStorageAccount | Select StorageAccountName, GeoPrimaryLocation 

每个存储账户有一个集装箱。我如何得到它?我没有看到列出容器的命令。 有一个Get-AzureStorageContainer命令,但它不会将存储帐户作为输入。

我错过了什么?

- 编辑 -

我知道我可以做到以下几点:

$context = New-AzureStorageContext -StorageAccountName myStorageAccount -StorageAccountKey xxx 
Get-AzureStorageContainer -Context $context 
Get-AzureStorageBlob -Context $context -Container myContainer 

为什么需要语境?

+0

https://msdn.microsoft.com/en-us/library/dn806407.aspx - 从我读,不需要背景。如果你只是输入get命令,你会得到什么? – Xalorous

+0

如果我省略上下文,则会出现错误。 Get-AzureStorageContainer:BadRequest:该名称不是有效的存储帐户名称。存储帐户名称必须在 3和24个字符之间,并且只能使用数字和小写字母。 在C:\ Users \ MatthewFitzmaurice \ Documents \ Scripts \ Move VHDs.ps1:7 char:1 + Get-AzureStorageContainer -Name vhds + ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:CloseError:(:) [获取-AzureStorageContainer],CloudException + FullyQualifiedErrorId:CloudException,Microsoft.WindowsAzure.Commands.Storage.Blob。 Cmdlet.GetAzureStorageContainerC –

+0

看起来上下文与证书类似。 – Xalorous

回答

7

不知道这是你想要的,但我可以列出容器使用New-AzureStorageContextGet-AzureStorageContainers

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

Get-AzureStorageContainer -Context $ctx 
4

列出所有容器

获取-AzureStorageContainer

名单在容器中的所有斑点。

GET-AzureStorageBlob - 集装箱$容器名称

还有一个完整的入门指南PowerShell和Azure存储,你可以在这里找到。 Azure Storage PowerShell Getting Started

1

这是我做的内ARM:

function Get-StorageContainer 
{ 
    param 
    (
     [string]$StorageAccountName 
    ) 

    $StorageAccounts = Get-AzureRmStorageAccount 

    $selectedStorageAccount = $StorageAccounts | where-object{$_.StorageAccountName -eq $StorageAccountName} 
    $key1 = (Get-AzureRmStorageAccountKey -ResourceGroupName $selectedStorageAccount.ResourceGroupName -name $selectedStorageAccount.StorageAccountName)[0].value 

    $storageContext = New-AzureStorageContext -StorageAccountName $selectedStorageAccount.StorageAccountName -StorageAccountKey $key1 
    $storageContainer = Get-AzureStorageContainer -Context $storageContext 
    $storageContainer 
} 

Get-StorageContainer -StorageAccountName storageaccount