Как рассчитать размер всех таблиц хранилища Azure из подписки с помощью Powershell - PullRequest
0 голосов
/ 01 ноября 2019

Как рассчитать размер всех таблиц хранилища Azure из подписки с помощью Powershell.

Я пытался искать в Интернете, если есть какой-либо прямой способ запроса размеров таблицы, но похоже, что нет. Не могли бы вы, кто-нибудь, дать мне рабочую модель расчета размера таблицы хранения 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
    }

1 Ответ

0 голосов
/ 01 ноября 2019

Вы можете рассчитать размер всех таблиц хранилища 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"
}

enter image description here


Кроме , выглядит, что вы хотите использовать команду в нескольких подписках, еслипоэтому, я думаю, вам нужно запустить Set-AzContext, чтобы установить подписку, прежде чем запускать указанную выше команду.

Set-AzContext -SubscriptionId "xxxx-xxxx-xxxx-xxxx"
...