Eu tenho uma função lambda sem servidor , na qual quero disparar (invocar) um método e esquecê-lo
Eu estou fazendo assim
// 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
}
Percebi que até e, a menos que eu faça um Promise
return
in myFunction1
, ele não dispara myFunction2
, mas não deve definir o lambda InvocationType = "Event"
como queremos que isso seja acionado e esquecido e que não nos importo com a resposta de retorno de chamada?
Estou faltando alguma coisa aqui?
Qualquer ajuda é muito apreciada.
javascript
aws-lambda
serverless
aws-serverless
aws-lambda-edge
Manzur Khan
fonte
fonte
Respostas:
Você
myFunction1
deve ser uma função assíncrona; é por isso que a função retornada antesmyFunction2
pode ser chamadalambda.invoke()
. Mude o código para o seguinte, então ele deve funcionar:fonte