繁体   English   中英

AWS Cost Explorer API 不返回资源 ID

[英]AWS Cost Explorer API doesn't return Resource ID

我正在测试 AWS Cost Explorer API(我正在使用 .NET SDK),特别是GetCostAndUsageWithResources方法来获取按资源划分的成本。

这是我正在测试的代码:

string nextPageToken = null;

do
{
    var costRequest = new GetCostAndUsageWithResourcesRequest()
    {
        Granularity = Granularity.HOURLY,
        GroupBy = {
            new GroupDefinition() {
                Key = "RESOURCE_ID",
                Type = GroupDefinitionType.DIMENSION
            }
        },
        Metrics = { "BlendedCost" },
        NextPageToken = nextPageToken
    };

    var costResponse = await client.GetCostAndUsageWithResourcesAsync(costRequest);
    nextPageToken = costResponse.NextPageToken;

    foreach (var resultByTime in costResponse.ResultsByTime)
    {
        foreach (var instanceGroup in resultByTime.Groups)
        {
            var instanceId = instanceGroup.Keys.First();
            if(g.Keys.First() != "NoResourceId" && !g.Keys.First().StartsWith("i-"))
            {
                Debugger.Break(); //NEVER gets hit
            }
        }
    }

} while (!string.IsNullOrEmpty(nextPageToken));

但是,正如您从代码中的注释中看到的那样,我有一个问题:资源 ID(这是我分组依据的维度)似乎只能为 EC2 机器实例(以i-开头的 ID)正确检索. 否则,所有其他结果的 ID 键都设置为NoResourceId

我在这里做错了什么? 为什么 Cost Explorer API 只填充 EC2 实例的 Resource ID,其他的都没有识别? 如果我想知道所有其他 AWS 服务的成本,如何确定结果属于哪个服务?

我在调用 API 的方式上做错了吗? 我错过了什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM