2017-12-31 17 views
0

Ich habe eine sehr einfache Lambda-Funktion zum Senden von E-Mails
Der Code hängt an der Erstellung von SES-Client .i Protokolle vor und nach dieser Anweisung des Erstellens von Client.AWS LAMBDA mit Java Sdk SES-Client Timeout

AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard().withRegion(Regions.EU_WEST_1) 
      .withCredentials(new InstanceProfileCredentialsProvider(false)).build(); 

Ich habe auch versucht

AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard().withRegion(Regions.EU_WEST_1).build(); 

Die Lambda-Funktion übernimmt IAM Rolle mit AmazonSESFullAccess, irgendeine Resolution zeigen könnte, warum ich Timeout erhalten Sie hier versuchen, Client zu initiieren?

+0

Haben Sie Ihre Lambda-Funktion in einer VPC platziert? –

+0

Konfigurieren Sie ein sehr kurzes Timeout (<~ 10s) und oder eine sehr kleine Menge an Speicher (<~ 512 MiB)? –

+0

Ihr Jungs gab einen guten Hinweis, danke, ich habe versucht, keine VPC, erhöhte Timeout von 3 bis 10 Sekunden und erhöhte mem auf 960MB, es funktionierte. Ich rate, Standards sollten funktionieren ... BUt jetzt bekomme ich 'code' Kann keine Credentials von Service-Endpunkt ladenEND' code' – Ameen

Antwort

0

Um das Problem des Beglaubigungserstellungszeiten zu beheben, wie ich

versuchte Antwort vorgeschlagen

NO VPC erhöhte Timeout von Standard 3 bis 10 Sekunden und erhöht mem

Erstellen von Service-sdk-Client 960MB in Java-Anwendung EnvironmentVariableCredentialsProvider() für LAMBDA, der die Client-Initialisierung Problem für EC2 verwenden InstanceProfileCredentialsProvider (true)

012 fixiert

kann nicht Anmeldeinformationen von Dienstendpunkt

AmazonSimpleEmailService client =

AmazonSimpleEmailServiceClientBuilder.standard(). WithRegion (Regions.EU_WEST_1) .withCredentials (neu EnvironmentVariableCredentialsProvider()) laden. Bauen() ;

vielen Dank für die Hilfe ...