2017-11-24 1 views
2

Guten Tag, Aktuelle AWS Release API für die Rechnungsinformationen kennen.Kostenexplorer in python-boto3 unbekannter Service 'ce'

Es ist in allen aws SDK (C#, Python, PHP) verfügbar. Ich habe gerade eine Lambda-Funktion ausprobiert, um meine Datenbanktabelle mit den aktuellen Kosten aller verknüpften Konten zu aktualisieren. aber mt lambda funktion funktioniert nicht. zeigen sie die folgenden Fehler

"Unknown Service: 'ce' Valid Servicenamen sind:. acm, apigateway, anwendungs ​​Autoscaling, AppStream, athene, automatische Skalierung, etc"

mein Lambda-Code ist :

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 
+0

https://github.com/boto/boto3/issues/311 – mootmoot

Antwort

0

Wie mentioned in the Boto3 bugtracker dies, wenn Sie Ihre boto3 ohne Ihre botocore Aktualisierung aktualisiert passieren könnte.

Deshalb schlage ich vor botocore zu aktualisieren und versuchen Sie es erneut:

pip install botocore --upgrade 

oder in irgendeiner anderen Weise, hängt davon ab, wie Sie botocore in erster Linie installiert.

+0

dank für Ihre Antwort, aber das ist geeignet, für die in lokalem oder aws-Server ausführen. meine Frage ist, wie wir es in der Lambda-Funktion beheben. Wir haben nur am oberen Ende der Lambda-Funktion Import Boto3 oder importieren Botocore Ich habe beide versucht.aber es zeigt immer noch den obigen Fehler, wir installieren und aktualisieren kein Paket in AWS Lambda, es ist Server-less Infrastruktur –

+0

@ArunKumar ich sehe. Ich wusste nicht, dass du AWS Lambda benutzt hast. Du hast recht. Meine Antwort gilt dann nicht. –

0

Ich denke, einfach AWS Lambda Team hat botocore auf die neueste Version noch nicht aktualisiert. Als Zeitpunkt der Abfassung dieses, die docs for AWS Lambda Erwähnung 1.7.37 als aktuelle Version von botocore:

AWS SDK für Python 2.7 (Boto 3) Version 3-1.4.7 botocore-1.7.37

AWS SDK für Python 3.6 (Boto 3) Version 3-1.4.7 botocore-1.7.37

und Lesen the botocore changelog die älteste es ce erwähnt ist 1.7.48:

1.7.48

[...]

api-Änderung: ce: Update ce-Client auf die neueste Version

Also meine Vermutung ist, - ein AWS-Team nicht aufgenommen hat, was Ein anderes Team von AWS hatte bereits veröffentlicht.

Sie können AWS Support kontaktieren oder ein paar Tage warten. Ich würde raten.

0

AWS hat botocore (zumindest in EU-Zentral-1) jetzt aktualisiert:

gültigen Dienstnamen sind: acm, alexaforbusiness, apigateway, applikations Autoscaling, AppStream, AppSync athene, Autoscaling, Chargen-, Bilanzen , ce, cloud9 [...]

Verwandte Themen