python-boto3中的成本浏览器'未知服务'ce'

时间:2017-11-24 07:06:32

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

美好的一天,最新的AWS发布API,用于了解结算信息。

它适用于所有aws SDK(c#,python,php)。我刚尝试了一个lambda函数来更新我的数据库表,其中包含我所有链接帐户的当前成本。但是mt lambda函数不起作用。它显示以下错误

  

“未知服务:'ce'。有效的服务名称为:acm,apigateway,application-autoscaling,appstream,athena,autoscaling等”

我的lambda代码是:

import boto3
from datetime import datetime, timedelta
def lambda_handler(event, context):
client1 = boto3.client(
'ce',
aws_access_key_id=accesskey,
aws_secret_access_key=secretkey)
[referral link for client creation][1]
response = client1.get_cost_and_usage(
TimePeriod={
    'Start': startdate,
    'End': enddate
},
Granularity='MONTHLY',
Metrics=[
    'BlendedCost',
],
GroupBy=[
    {
        'Type': 'DIMENSION',
        'Key': 'LINKED_ACCOUNT'
    },
],
)

print response

3 个答案:

答案 0 :(得分:0)

如果boto3更新botocore而未更新botocore,则可能会发生mentioned in the Boto3 bugtracker

所以我建议更新pip install botocore --upgrade 并重试:

procedure TServerMethodsMain.ApplyDataSetChanges(const ATableName: String;
                                                     const ADeltaList: TFDJSONDeltas);
    var
      LApply: IFDJSONDeltasApplyUpdates;
    begin
      LApply := TFDJSONDeltasApplyUpdates.Create(ADeltaList);

      DataModule1.FDQuery1.UpdateOptions.UpdateTableName := ATableName;

      LApply.ApplyUpdates(ATableName, DataModule1.FDQuery1.Command);

      if LApply.Errors.Count > 0 then
        raise Exception.Create(LApply.Errors.Strings.Text);
    end;

或以某种不同的方式,取决于您首先安装botocore的方式。

答案 1 :(得分:0)

我认为AWS Lambda团队尚未将botocore升级到最新版本。 在写这篇文章的那一刻,docs for AWS Lambda提到1.7.37作为当前版本的botocore:

  

AWS SDK for Python 2.7(Boto 3)版本3-1.4.7 botocore-1.7.37

     

AWS SDK for Python 3.6(Boto 3)版本3-1.4.7 botocore-1.7.37

阅读the botocore changelog最早提到的ce是{1.7}:

  

48年1月7日

     

[...]

     

api-change:ce:将ce客户端更新为最新版本

所以我的猜测是 - 一个AWS团队还没有找到AWS已经发布的其他团队。

您可以与AWS支持小组联系或等待几天。我猜。

答案 2 :(得分:0)

AWS现已更新了botocore(至少在eu-central-1中):

有效的服务名称包括:acm,alexaforbusiness,apigateway,应用程序自动缩放,appstream,appsync,athena,autoscaling,批处理,预算, ce, cloud9,[...]