Azure REST API - 在哪里可以找到资源成本



我正在查看其余API的文档,并希望获得资源的成本。

查看适用于 .NET 的 REST API 和 SDK,有一个消耗终结点可以执行此操作,但在进一步测试中,这似乎仅提供最新的可用计费周期(24 小时窗口(。

示例代码:

            var filterString = $"properties/instanceName  eq '{vm.VirtualMachineName}'";
            var vmConsumptionData = await consumptionClient.Item1.UsageDetails.ListAsync(
                    scope: $"/subscriptions/{consumptionClient.subscriptionGuid}",
                    filter: filterString 
                );

consumptionClient 是作为元组的一部分返回的消耗客户端的实例。

结果是昨天上次开票的金额。

是否有任何其他终结点可以提供 Azure 中资源的最新成本概述? 即每分钟或每小时

我认为可以做到这一点的唯一另一种方法是检索资源的"使用数量",并根据每小时的资源成本计算出来。

截至

Mar-06-2020关于Microsoft.CostManagement/Query的文档

POST https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/query?api-version=2019-11-01&$top=10000
Content-Type: application/json
{
    "type": "ActualCost",
    "dataSet": {
        "granularity": "None",
        "aggregation": {
            "totalCost": {
                "name": "PreTaxCost",
                "function": "Sum"
            },
            "totalCostUSD": {
                "name": "PreTaxCostUSD",
                "function": "Sum"
            }
        },
        "filter": {
            "Dimensions": {
                "Name": "ResourceId",
                "Operator": "In",
                "Values": [
                    "{resourceId}"
                ]
            }
        }
    },
    "timeframe": "Custom",
    "timePeriod": {
        "from": "2020-02-29T00:00:00+00:00",
        "to": "2020-03-06T23:59:59+00:00"
    }
}

有响应:

{
    "id": "subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/query/XXXXXXXX-9ab4-XXXX-83fe-XXXXXXXXXXXX",
    "name": "XXXXXXXX-9ab4-XXXX-83fe-XXXXXXXXXXXX",
    "type": "Microsoft.CostManagement/query",
    "location": null,
    "sku": null,
    "eTag": null,
    "properties": {
        "nextLink": null,
        "columns": [
            {
                "name": "PreTaxCost",
                "type": "Number"
            },
            {
                "name": "Currency",
                "type": "String"
            }
        ],
        "rows": [
            [
                1234.5678910,
                "CAD"
            ]
        ]
    }
}

我发现这为我的特定资源返回了准确的值。

注意

:唯一需要注意的是,此 API 端点在文档中标记为-legacy。不确定它是否会得到长期支持,但目前有效。

最新更新