Ich muss aws Lambda von einem anderen Lambda asynchron aufrufen. Ich habe einen Arbeitscode für synchrone Anrufe.invoke aws Lambda von einem anderen Lambda asynchron
exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'myregion' //change to your region
});
console.log("lambda invoke started");
lambda.invoke({
FunctionName: 'testLambda',
Payload: JSON.stringify(event, null, 2) // pass params
}, function (error, data) {
if (error) {
console.log("error");
callback(null, 'hello world');
}
else {
console.log("lambda invoke end");
callback(null, 'hello world');
}
});
}
Aber in meinem Fall ist "testLambda" eine Zeit genommene Funktion. Weil ich gleich nach dem Aufruf der 'testLambda'-Funktion beenden muss. Dann wird der Code wie folgt aktualisiert
exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'myregion' //change to your region
});
console.log("lambda invoke started");
lambda.invoke({
FunctionName: 'testLambda',
Payload: JSON.stringify(event, null, 2) // pass params
});
console.log("lambda invoke end");
callback(null, 'hello world');
}
es gibt die Nachricht korrekt zurück. Aber meine "testLambda" -Funktion wird nicht aufgerufen (es werden keine Cloud-Watch-Protokolle für das Test-Lambda generiert). Welches Problem hängt mit diesem Code zusammen?
Danksagung. es funktioniert. –