Tengo una función lambda sin servidor , en la que quiero activar (invocar) un método y olvidarlo
Lo estoy haciendo de esta manera
// 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
}
Me he dado cuenta de que hasta ya menos que haga una Promise
return
en myFunction1
, no lo hace el gatillo myFunction2
, pero no debería establecer el lambda InvocationType = "Event"
significa que queremos que esto sea dispara y olvida y no se preocupan por la respuesta de devolución de llamada?
¿Me estoy perdiendo de algo?
Cualquier ayuda es muy apreciada.
javascript
aws-lambda
serverless
aws-serverless
aws-lambda-edge
Manzur Khan
fuente
fuente
Respuestas:
Su
myFunction1
debe ser una función asíncrona es por eso que las declaraciones de las funciones antesmyFunction2
podían ser invocadoslambda.invoke()
. Cambie el código a lo siguiente, entonces debería funcionar:fuente