0

如何使用 Powershell 从订阅计算所有 Azure 存储表的大小。

我尝试在线搜索是否有任何直接查询表大小的方法,但看起来没有。谁能给我一个计算 Azure 存储表大小的工作模型。

请。

FOREACH ($SubscriptionID in $Subscriptions) { 
    Write-Host -ForegroundColor Green "Working on $N. $SubscriptionID" 

    $StorageAccounts = Get-AzStorageAccount
    FOREACH ($StorageAccount in $StorageAccounts) {
            $StorageAccountName = $StorageAccount.StorageAccountName
            Write-Host -ForegroundColor Yellow "Working on $StorageAccountName"

            $AllTables = Get-AzStorageTable -Context $StorageAccount.Context
            FOREACH ($TableName in $AllTables) {
                
                $Name = $TableName.Name
                Write-Host -ForegroundColor Green "Working on $StorageAccountName,$Name"
                Get-AzStorageTable –Name $TableName.Name –Context $StorageAccount.Context
                
                }             
            }
            $N = $N+1
    }

4

1 回答 1

0

您可以计算所有 Azure 存储表的大小,但最小粒度可能只是存储帐户中的所有表,而不是特定表。

试试下面的命令,它在我这边工作正常。

$StorageAccounts = Get-AzStorageAccount
foreach($item in $StorageAccounts){
    $id = $item.Id+"/tableServices/default"
    $name = $item.StorageAccountName
    $metric = Get-AzMetric -ResourceId $id -MetricName "TableCapacity" -WarningAction Ignore
    $data = $metric.Data.Average/1024/1024
    Write-Output "Tables in $name : $data MB"
}

在此处输入图像描述


此外,看起来你想在多个订阅中使用该命令,如果是这样,我认为你需要Set-AzContext在运行上面的命令之前运行设置订阅。

Set-AzContext -SubscriptionId "xxxx-xxxx-xxxx-xxxx"
于 2019-11-01T02:47:08.437 回答