Ich versuche, ein paar asynchrone Anfragen von einer lambda
Funktion auszuführen. Der erste Anruf resolveEndpoints()
gelingt und die zweite nicht mitAWS lambda nodejs Laufzeit: IO: lesen/schreiben auf geschlossene Leitung
2017/11/03 17:13:27 Function oauth.callbackHandler timed out after 3 seconds
2017/11/03 17:13:27 Error invoking nodejs6.10 runtime: io: read/write on closed pipe
Der Handler ist:
exports.callbackHandler = async (event, context, callback) => {
context.callbackWaitsForEmptyEventLoop = false;
let endpoints: any = await resolveEnpoints();
config.accessTokenUri = endpoints.token_endpoint;
let tokenRequestPath =
`http://localhost:7001${event.path}?code=${event.queryStringParameters.code}&realmId=${event.queryStringParameters.realmId}&`;
let accessToken: any = await getAuthToken(tokenRequestPath);
callback(undefined, {statusCode: 200, body: JSON.stringify(accessToken.data)});
};
Wenn ich den resolveEndpoint()
Anruf entfernen dann getAuthToken()
erfolgreich ist.
resolveEndpoint()
gibt ein Versprechen zurück, das nach Abschluss der Anfrage aufgelöst wird.
was diese 'resolveEnpoints()' tatsächlich macht. Und auch das darf kein Lambda sein. –
@VaisakhPS hat die Frage aktualisiert. Wie Sie schon gesagt haben, könnte es sehr wohl Lambda-bezogen sein, aber es ist zumindest ein seltsames Verhalten. – nilobarp
'async/await' wird in NodeJS 6.10 nicht unterstützt. Sind Sie sicher, dass der Code ausgeführt wird und keine kompilierte Version? – dashmug