2

我正在构建一个 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

4

1 回答 1

2

您想按“TAGS”类型而不是“TAG”分组,因为那不是有效类型。

此外,检查公司的标签值是否在给定标签键的资源上设置。
如果不是这样,返回的组将包括所有公司的资源。

于 2019-02-04T06:41:18.450 回答