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

Я хочу получить данные размером Учетные записи хранения Cosmos DB из нескольких подписок. Например, у нас есть подписка с 4 учетными записями Cosmos DB в 4 регионах.

PS V:\> Get-AzResource -ResourceType Microsoft.DocumentDb/databaseAccounts | ft

Name       ResourceGroupName ResourceType                          Location   
----       ----------------- ------------                          --------   
Account1   dbcosmosdb      Microsoft.DocumentDb/databaseAccounts eastasia   
Account2   dbcosmosdb      Microsoft.DocumentDb/databaseAccounts eastus2    
Account3   dbcosmosdb      Microsoft.DocumentDb/databaseAccounts northeurope
Account4   dbcosmosdb      Microsoft.DocumentDb/databaseAccounts westus     

Теперь я хотел бы запросить все 4 учетных записи Cosmos DB, чтобы получить размер данных, используемых для каждой учетной записи.

Пример, Account1 имеет 137 ГБ Используется до сих пор. Я хотел бы видеть этот номер, используя Powershell , чтобы я мог запрашивать через несколько подписок и добавлять эту мою телеметрическую отчетность.

1 Ответ

1 голос
/ 02 октября 2019

Вы можете использовать команду Get-AzMetric, попробуйте скрипт, как показано ниже, он отлично работает на моей стороне.

$ids = (Get-AzResource -ResourceType Microsoft.DocumentDb/databaseAccounts).ResourceId
foreach($item in $ids){
    $name = (Get-AzResource -ResourceId $item).Name
    $metric = Get-AzMetric -ResourceId $item -MetricName "DataUsage" -WarningAction Ignore
    $data = ($metric.Data | Select-Object -Last 1).Total/1024/1024/1024
    Write-Output "$name : $data GB"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...