Mam funkcję Serverda lambda , w której chcę odpalić (wywołać) metodę i zapomnieć o niej
Robię to w ten sposób
// myFunction1
const params = {
FunctionName: "myLambdaPath-myFunction2",
InvocationType: "Event",
Payload: JSON.stringify(body),
};
console.log('invoking lambda function2'); // Able to log this line
lambda.invoke(params, function(err, data) {
if (err) {
console.error(err, err.stack);
} else {
console.log(data);
}
});
// my function2 handler
myFunction2 = (event) => {
console.log('does not come here') // Not able to log this line
}
Zauważyłem, że do czasu, gdy robię Promise
return
in myFunction1
, to nie powoduje myFunction2
, ale nie powinien ustawić lambda InvocationType = "Event"
oznacza, że chcemy to być ogień i zapomnieć i nie dbają o odpowiedź zwrotną?
Czy coś mi umyka?
Każda pomoc jest bardzo ceniona.
javascript
aws-lambda
serverless
aws-serverless
aws-lambda-edge
Manzur Khan
źródło
źródło
Odpowiedzi:
Twój
myFunction1
powinna być funkcja asynchroniczny dlatego funkcja zwraca zanimmyFunction2
mogłyby być powoływane wlambda.invoke()
. Zmień kod na następujący, a następnie powinien działać:źródło