如何使用 Powershell 从订阅中计算所有 Azure 存储表的大小
How to calculate size of all Azure Storage Tables from a Subscription using Powershell
如何使用 Powershell 从订阅中计算所有 Azure 存储 Table 的大小。
我尝试在线搜索是否有任何直接查询 table 尺寸的方法,但看起来没有。
有人能给我一个计算 Azure 存储 Table 大小的工作模型吗?
请。
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
}
您可以计算所有 Azure 存储表的大小,但最小粒度可能只是存储帐户中的所有 table,而不是特定的 table。
试试下面的命令,我这边没问题。
$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"
如何使用 Powershell 从订阅中计算所有 Azure 存储 Table 的大小。
我尝试在线搜索是否有任何直接查询 table 尺寸的方法,但看起来没有。 有人能给我一个计算 Azure 存储 Table 大小的工作模型吗?
请。
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
}
您可以计算所有 Azure 存储表的大小,但最小粒度可能只是存储帐户中的所有 table,而不是特定的 table。
试试下面的命令,我这边没问题。
$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"