如何解决尝试运行 Get-AzStorageBlob 时出错
我想查看特定存储帐户中存储容器的存储 blob 所以我运行了以下命令:
$storageAccountName = "teststor"
$resourceGroup = "RgDev"
$StorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroup -Name $storageAccountName).Value[0]
$context=New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountkey
Get-AzStorageContainer -Context $context
$ContainerName = Get-AzStorageContainer -Context $context
现在当我运行最终命令时:
Get-AzStorageBlob -Container $ContainerName -Context $context
我收到以下错误:
PS C:\WINDOWS\system32> Get-AzStorageBlob -Container $ContainerName -Context $ctx
Get-AzStorageBlob : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter
'Container'. Specified method is not supported.
At line:1 char:31
+ Get-AzStorageBlob -Container $ContainerName -Context $ctx
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-AzStorageBlob],ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.GetAzur
eStorageBlobCommand
知道如何解决这个问题
我现在收到此错误
PS C:\WINDOWS\system32> $AzContainer = Get-AzStorageContainer -Context $context
PS C:\WINDOWS\system32> $AzContainer
Blob End Point: https://testhalifax.blob.core.windows.net/
Name PublicAccess LastModified
---- ------------ ------------
koltest1 Off 9/20/2020 2:22:04 AM +00:00
teststorhal Off 9/1/2020 8:25:44 PM +00:00
PS C:\WINDOWS\system32> $BlobContainer = $AzContainer.CloudBlobContainer
PS C:\WINDOWS\system32> $BlobContainer
Blob End Point: https://testhalifax.blob.core.windows.net/
Name Uri LastModified
---- --- ------------
koltest1 https://testhalifax.blob.core.windows.net/koltest1 2020-09-20 02:22:04Z
teststorhal https://testhalifax.blob.core.windows.net/teststorhal 2020-09-01 20:25:44Z
PS C:\WINDOWS\system32> $ContainerName = $BlobContainer.Name
PS C:\WINDOWS\system32> $ContainerName
koltest1
teststorhal
PS C:\WINDOWS\system32> Get-AzStorageBlob -Container $ContainerName -Context $context
Get-AzStorageBlob : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter
'Container'. Specified method is not supported.
At line:1 char:31
+ Get-AzStorageBlob -Container $ContainerName -Context $context
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-AzStorageBlob],Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.GetAzur
eStorageBlobCommand
解决方法
根据 https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstoragecontainer?view=azps-5.5.0 命令 Get-AzStorageContainer
返回一个 AzureStorageContainer
类型的对象。您需要点引用该对象的 CloudBlobContainer
属性,然后点引用该对象的 Name
属性。因此,为了获得 $ContainerName
,您需要执行类似
$AzContainer = Get-AzStorageContainer -Context $context
$BlobContainer = $AzContainer.CloudBlobContainer
$ContainerName = $BlobContainer.Name
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。