如何通过API获取Azure翻译服务的字符使用量及剩余额度?
获取Azure翻译服务使用量与限额的API方案
原API无效原因
Microsoft.Commerce/UsageAggregates接口针对的是旧版计费维度数据,而Azure翻译服务(认知服务下的资源)的使用量统计已迁移至Azure Monitor Metrics API,所以你之前的请求无法拿到目标数据。
1. 获取已用字符数
调用Azure Monitor Metrics API,指定翻译服务资源的字符计数指标:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/providers/microsoft.insights/metrics?api-version=2021-05-01&metricnames=CharacterCount&aggregation=Total&startTime={月度起始时间,如2023-09-01T00:00:00Z}&endTime={当前时间,如2023-09-11T23:59:59Z}
替换参数后,响应会返回该时间段内的累计翻译字符数(CharacterCount的Total聚合值)。
2. 获取月度限额
调用认知服务资源详情API,提取SKU对应的限额信息:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}?api-version=2023-05-01
在返回的JSON中,sku.properties.quota字段会展示该资源的月度字符限额(比如免费套餐默认50万字符)。
3. 计算剩余字符数
用限额数值 - 已用字符数即可得到剩余可用额度。
权限要求
调用上述API需要账号具备Monitoring Reader或Contributor角色权限,否则会返回权限拒绝错误。
内容的提问来源于stack exchange,提问作者Konrad
相关产品推荐
相关产品推荐

