Cost Explorer 与 API 中的总成本不同

0

【以下的问题经过翻译处理】 我遇到了一个问题,涉及到Cost Explorer和AWS控制台的计费页面显示的金额与API返回的金额不一致。

在Cost Explorer中查看我们2023年3月的费用,显示的总费用为$17409

但是,在尝试通过API拉取相同数据时,它显示该月的总费用为$16843。用于查询API的代码如下:

client = boto3.client("ce")
total_cost = client.get_cost_and_usage(
    TimePeriod={"Start": '2023-03-01', "End": '2023-03-31'},
    Granularity="MONTHLY",
    Metrics=["AmortizedCost"],
)["ResultsByTime"]
print(total_cost)
# -> [{'TimePeriod': {'Start': '2023-03-01', 'End': '2023-03-31'}, 'Total': {'AmortizedCost': {'Amount': '16843.7283177265', 'Unit': 'USD'}}, 'Groups': [], 'Estimated': False}]

无论使用哪个数据集(未混合或摊销)都存在这种差异,而且仅存在于2023年3月。

请问这个是什么原因造成的呢?我们需要通过API运行一些无法通过控制台完成的费用分析,但如果它提供的费用不准确,我们就无法使用。

profile picture
专家
已提问 1 年前68 查看次数
1 回答
0

【以下的回答经过翻译处理】 得到不同的值是因为CE API处理时间段的结束(在TimePeriod中)是独占的。boto3文档中提到:

您想要获取使用量和成本的时间段的结束时间。结束日期是独占的。例如,如果结束时间是2017-05-01,AWS将在起始日期到2017-05-01之间检索成本和使用量数据,但不包括2017-05-01。

请参考以下代码,查看是否与控制台中的账单一致:

    client = boto3.client("ce")
    total_cost = client.get_cost_and_usage(
        TimePeriod={"Start": '2023-03-01', "End": '2023-04-01'},
        Granularity="MONTHLY",
        Metrics=["AmortizedCost"],
    )["ResultsByTime"]
    print(total_cost)
profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则