问题描述
在Storage Account的使用中,如果想获取Table中全部Entity的计数以及大小,如果是REST API方式,如何来获取呢?
问题解答
在Azure中,所有服务的Metrics部分,都可以通过Azure Monitor 的REST API来获取。当需要查看Stroage Account的Metrcis时候,可以参考使用 List Metrics 接口:
文档链接:https://docs.microsoft.com/en-us/rest/api/monitor/metrics/list?tabs=HTTP
当然,如果是在中国区使用,需要修改文中的Endpoint为: https://management.chinacloudapi.cn
所以,获取Storage Account中全部Table中Entity的总数API 为:
图片版:
文字版:
## 单独获取 TableEntityCount
https://management.chinacloudapi.cn/subscriptions/<subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Storage/storageAccounts/<storageAccounts> /tableServices/default/providers/microsoft.Insights/metrics?timespan=2022-09-03T08:30:00.000Z/2022-09-04T08:45:00.000Z&interval=PT15M
&metricnames=TableEntityCount&aggregation=average&metricNamespace=microsoft.storage%2Fstorageaccounts%2Ftableservices&autoadjusttimegrain=true
&validatedimensions=false&api-version=2021-05-01
## 单独获取 TableCapacity
https://management.chinacloudapi.cn/subscriptions/<subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Storage/storageAccounts/<storageAccounts> /tableServices/default/providers/microsoft.Insights/metrics?timespan=2022-09-03T08:30:00.000Z/2022-09-04T08:45:00.000Z&interval=PT15M
&metricnames=TableCapacity&aggregation=average&metricNamespace=microsoft.storage%2Fstorageaccounts%2Ftableservices&autoadjusttimegrain=true
&validatedimensions=false&api-version=2021-05-01
## 合并获取 TableCapacity 和 TableEntityCount
https://management.chinacloudapi.cn/subscriptions/<subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Storage/storageAccounts/<storageAccounts> /tableServices/default/providers/microsoft.Insights/metrics?timespan=2022-09-03T08:30:00.000Z/2022-09-04T08:45:00.000Z&interval=PT15M
&metricnames=TableCapacity,TableEntityCount&aggregation=average&metricNamespace=microsoft.storage%2Fstorageaccounts%2Ftableservices&autoadjusttimegrain=true
&validatedimensions=false&api-version=2021-05-01
## 注意修改timespan
在调用以上接口时,必须获取 Authorization Bearer Token,否则会得到如下错误信息:
{
"error": {
"code": "AuthenticationFailed",
"message": "Authentication failed. The 'Authorization' header is missing."
}
}
获取Authorzation的方法请见:https://docs.microsoft.com/en-us/rest/api/monitor/metrics/list?tabs=HTTP#security 具体的步骤,可以参考旧博文:https://www.cnblogs.com/lulight/p/14279338.html
在Postman中验证结果如下:
参考资料
Microsoft.Storage/storageAccounts/tableServices:https://docs.microsoft.com/en-us/azure-stack/user/azure-stack-metrics-supported?view=azs-2206
Metrics - List : https://docs.microsoft.com/en-us/rest/api/monitor/metrics/list?tabs=HTTP#uri-parameters
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
分类: 【Azure 存储服务】
标签: Azure Storage, Table Metrics, TableCapacity,TableEntityCount