J'ai une fonction lambda sans serveur , dans laquelle je veux lancer (invoquer) une méthode et l'oublier
Je le fais de cette façon
// 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
}
J'ai remarqué que jusqu'à ce que et à moins que je fasse un Promise
return
in myFunction1
, cela ne se déclenche pas myFunction2
, mais ne devrait pas définir le lambda InvocationType = "Event"
signifie que nous voulons que ce soit le feu et oublier et ne pas se soucier de la réponse de rappel?
Est-ce que j'ai râté quelque chose?
Toute aide est grandement appréciée.
javascript
aws-lambda
serverless
aws-serverless
aws-lambda-edge
Manzur Khan
la source
la source
Réponses:
Votre fonction
myFunction1
devrait être une fonction asynchrone, c'est pourquoi la fonction retournée avantmyFunction2
pourrait être invoquée danslambda.invoke()
. Modifiez le code comme suit, cela devrait fonctionner:la source