我正在构建一个python仪表板,以便我拥有托管在AWS上的应用程序的客户可以付给我确切的项目费用。我正在使用python sdk,但我只能从查询中获得帐户的总金额。
我已经确定将标签添加到项目中(例如:Elastic beantalk)并激活了成本分配标签,但是没有用。
cost_allocation_tag = 'Company'
client = boto3.client(
'ce',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
)
try:
monthly = client.get_cost_and_usage(
TimePeriod={
'Start':end,
'End':now.strftime('%Y-%m-%d')
},
Granularity='MONTHLY',
Metrics=[
'BlendedCost',
],
GroupBy=[
{
'Type': 'TAG',
'Key': cost_allocation_tag
},
]
)
monthly_cost = monthly['ResultsByTime'][0]['Groups'][0]['Metrics']['BlendedCost']['Amount']
except:
pass
我应该只获得与代码相关的成本,而不是总体成本。我已经阅读了文档,但是如果我没有正确遵循的话,我的理解还不是100%。这是文档的链接
答案 0 :(得分:1)
您要按'TAGS'类型而不是'TAG'进行分组,因为这不是有效的类型。
此外,请检查是否在资源上为给定标签键设置了公司的标签值。
如果不是这样,返回的组将包括所有公司的资源。