我想从多个订阅中获取 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 看到该数字,以便我可以查询多个订阅并将其添加到我的遥测报告中。
答案 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"
}