amazon-web-services - 根据特定标签获取 AWS 资源成本
问题描述
我已经跨 EC2、存储、负载均衡器、网络等创建了不同的 AWS 资源。我将每个资源标记GroupName
为键和值,每个组都不同,例如group1
,group2
等。
现在,我想获得每个组的成本。我写了以下代码
GroupDefinition groupDefinition =
new GroupDefinition().withType(GroupDefinitionType.TAG).withKey("Cluster");
GetCostAndUsageRequest costAndUsageRequest
= new GetCostAndUsageRequest()
.withGroupBy(groupDefinition)
.withGranularity("MONTHLY")
.withMetrics("UnblendedCost");
GetCostAndUsageResult costAndUsage =
awsCostExplorer.getCostAndUsage(costAndUsageRequest);
现在,我希望costAndUsage
有基于每个标签的组。但它总是给我总账单。我可以给任何随机值,withKey
但结果总是一样的。
Maven依赖:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.453</version>
</dependency>
这是我得到的回应(首先resultByTime
为简洁起见)
{
"timePeriod":{
"start":"2018-11-01",
"end":"2018-12-01"
},
"total":{
},
"groups":[
{
"keys":[
"Cluster$"
],
"metrics":{
"UnblendedCost":{
"amount":"26712.9751185906",
"unit":"USD"
}
}
}
],
"estimated":false
}
我想要的是
Cluster1 -> 1500 USD
Cluster2 -> 1000 USD
假设我有一堆用 keyCluster
和 values标记的资源Cluster1
和Cluster2
.
响应中没有按每个实际标签值分组。我在这里想念什么?
解决方案
代码工作正常。我没有正确接收,因为需要在父收款人帐户上执行其他步骤。
你需要
- 转到 AWS 账单门户
- 选择要启用成本计算的标签,在我的例子中
Cluster
- 启用成本分配
- 这需要大约 24 小时才能生效。
注意:如果您有 AWS 子账户,您的父收款人账户将有权执行上述步骤。
有关更多详细信息,请参阅文档。
24 小时后,如果运行代码将看到如下所示的响应
{
"timePeriod":{
"start":"2018-12-01",
"end":"2018-12-31"
},
"total":{
},
"groups":[
{
"keys":[
"Cluster$"
],
"metrics":{
"UnblendedCost":{
"amount":"23434.5469766795",
"unit":"USD"
}
}
},
{
"keys":[
"Cluster$cluster-1"
],
"metrics":{
"UnblendedCost":{
"amount":"2343.3888413893",
"unit":"USD"
}
}
},
{
"keys":[
"Cluster$cluster-2"
],
"metrics":{
"UnblendedCost":{
"amount":"23464.8057597427",
"unit":"USD"
}
}
}
],
"estimated":true
}
推荐阅读
- angular - canLoad 不会阻止组件加载
- python - Python检查文本框是否未填充
- html - 为什么剃须刀中的 td 元素无法识别样式?
- scala - 我应该在 apply 方法中在哪里定义隐式参数?
- wordpress - 如何在 wordpress 自定义端点中调用类方法作为回调函数?
- c# - 为什么 Oracle 复制单个插入
- javascript - 从 Javascript 调用 VBScript 方法在 IE11 windows 10 中不起作用
- java - java - 如何在java中将apache.spark.ml.linalg.Vector转换为arrayList?
- sql - 有没有办法在 SQL 中对组执行操作?
- python - 如何从 Python 中的新数组中查找重复值?