在Boto中使用Lambda中的get_cost_and_usage时出错

时间:2019-07-17 19:37:59

标签: python amazon-web-services aws-lambda boto3

我正在尝试使用botolambda的同时使用Cost Explorer获取前一天的费用。但是我得到了错误

  

“” errorMessage“:”当发生错误(ValidationException)   调用GetCostAndUsage操作:“,错误类型为   “ ClientError”。

我已将区域指定为us-east-1。我的政策也是

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ce:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

我的代码在

下方
ce = boto3.client('ce')

cost = ce.get_cost_and_usage(TimePeriod={'Start': '2019-7-15', 'End': '2019-7-17'}, Granularity = 'DAILY')

print(cost)

1 个答案:

答案 0 :(得分:1)

我认为您有两个问题:

  1. 无效的时间戳格式,将导致如下错误:
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the GetCostAndUsage operation: Start time  is invalid. Valid format is: yyyy-MM-dd.
  1. Metrics调用中缺少必需的get_cost_and_usage()关键字。

将您的get_cost_and_usage()呼叫改成类似的方式应该可以:

cost = ce.get_cost_and_usage(
    TimePeriod={'Start': '2019-07-15', 'End': '2019-07-17'},
    Granularity = 'DAILY',
    Metrics=['UnblendedCost'])