
[英]graph api explorer doesn't return the same as the Get response from the visual
[英]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.