我尝试使用以下语句在存储帐户内创建一个容器:
New-AzResourceGroup -Name $rg_bk -Location $Region -Tag @{CompanyName = $Customer_Name }
$StorageAccountName = "bacpacssa$(Get-Random)"
New-AzStorageAccount -ResourceGroupName $rg_bk -Name $StorageAccountName -Location $Region -SkuName Standard_GRS -Tag @{CompanyName = $Customer_Name } -Kind BlobStorage -AccessTier Cool
$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $rg_bk -Name $StorageAccountName).Value
$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $storageKey
$ContainerName = "databasesbacpac$(Get-Random)"
New-AzStorageContainer -Name $ContainerName -Context $StorageContext -Permission Off
但我也收到以下错误
New-AzStorageContext : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'StorageAccountKey'. Specified method is not supported.
最佳答案
这一行:
$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $rg_bk -Name $StorageAccountName).Value
返回两个对象,因此您可以在数组中获取每个对象的值。您的下一个 cmdlet ( New-AzStorageContext
) 需要一个 -StorageAccountKey
值。
如果你只想使用第一个,你可以像这样修复它。
$storageKey = (Get-AzStorageAccountKey -ResourceGroupName $rg_bk -Name $StorageAccountName)[0].Value
这意味着您只能使用 key1
中的值。如果你想使用key2,可以将其更改为[1]
。
关于azure - 尝试创建 Blob 容器时,无法将 'System.Object[]' 转换为参数 'System.String' 所需的类型 'StorageAccountKey',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64212072/