我正在构建一个 python 控制面板,以便我在 AWS 上托管应用程序的客户可以支付项目成本的确切金额。我正在使用python sdk,但我只从查询中获取我的帐户总金额。
我已经确定将标签添加到项目中(例如:弹性豆茎)并激活了成本分配标签,但无济于事。
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%。这是文档的链接
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ce.html#CostExplorer.Client.get_cost_and_usage
您希望按"TAGS"类型而不是"TAG"进行分组,因为这不是有效的类型。
此外,请检查是否在给定标签键的资源上设置了公司的标签值。
如果不是这样,则返回的组将包括所有公司的资源。