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
EXPERTE
gefragt vor einem Jahr76 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen