如何使用Powershell从订阅获取Cosmos DB的数据大小

时间:2019-10-01 22:07:35

标签: azure powershell azure-cosmosdb

我想从多个订阅中获取 Cosmos DB存储帐户的数据大小。 例如,我们有一个在4个区域中具有4个Cosmos DB帐户的订阅。

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帐户,以获取每个帐户使用的数据大小。

例如,帐户1 已使用 137 GB 。我希望使用 Powershell 看到该数字,以便我可以查询多个订阅并将其添加到我的遥测报告中。

1 个答案:

答案 0 :(得分:1)

您可以使用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"
}