azure - 无法使用 powershell 获取 Azure Blob 容器信息
问题描述
我正在尝试使用 powershell 获取 Azure Blob 容器信息。我正在使用下面的脚本。
我尝试将Set-AzStorageContainerAcl更改为Blob和Container仍然没有运气。
$StorageAccounts = Get-AzStorageAccount
FOREACH ($StorageAccount in $StorageAccounts) {
$AllContainers = Get-AzStorageContainerAcl -Context $StorageAccount.Context
$AccountCapacity = 0
FOREACH ($Container in $AllContainers) {
$ListOfBLobs = Get-AzStorageBlob -Container $Container.Name -Context $StorageAccount.Context
$length = 0
$BlobCapacity = 0
$BlobCapacity = ($listOfBlobs | Measure-Object 'Length' -Sum).Sum
$AccountCapacity = $AccountCapacity + $BlobCapacity
}
这在我使用我的凭据时有效。但是当我尝试使用应用注册连接到订阅时,我遇到了以下错误。
Get-AzStorageContainerAcl : The client 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx' with object id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx' does not have authorization to perform action 'Microsoft.Storage/storageAccounts/listKeys/action' over scope
'/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/ResourceGroupName/providers/Microsoft.Storage/storageAccounts/StorageAccountName' or the scope is invalid. If access was recently granted, please refresh your credentials.
At line:11 char:30
+ ... ontainers = Get-AzStorageContainerAcl -Context $StorageAccount.Contex ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-AzStorageContainer], CloudException
+ FullyQualifiedErrorId : Microsoft.Rest.Azure.CloudException,Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.GetAzureStorageContainerCommand
解决方案
推荐阅读
- ios - 如何将 JSON 数据加载到 FSCalendar Swift 5
- robotframework - Robot Framework - 如果文件存在则运行关键字
- lua - 在roblox studio中按一个按钮和文本增加+1
- c# - 为什么实体框架在保存时将我的枚举重置为默认值
- python-3.x - 将 tensorflow 会话保持在 docker 内?
- python - 如果上游任务的输入发生变化,在 Prefect 核心中是否有一种简单的方法使缓存无效?
- javascript - 为什么科尔多瓦不保存jspdf?
- javascript - 查看页面源 Angular Universal 和 Angular 11
- javascript - 在 JavaScript 中将 N 个月添加到 YYYY-MM 日期
- scala - IntelliJ 无法正确识别“sbt-test”下的 SBT 插件测试项目