J'essaye d'invoquer une fonction aws lamda basée sur un déclencheur d'email. Je reçois le trigger de l'email et il frappe la déclaration if je m'attends mais alors il ne parvient pas à faire le lambda.invoke.comment invoquer une fonction aws lamda d'un autre
Que manque-t-il? j'arrive à la plupart des déclarations de journal, mais ne semble pas
exports.handler = function(event, context) {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'us-east-1'
});
var sesNotification = event.Records[0].ses;
//console.log("SES Notification:\n", JSON.stringify(sesNotification, null, 2));
var sub=sesNotification.mail.commonHeaders.subject;
if(sub){
if(sub.toLowerCase()=="startpipeline"){
console.log("Starting Pipeline");
lambda.invoke({
FunctionName: 'StartDevOpsServers',
Payload: JSON.stringify(event, null, 2), // pass params
InvocationType: 'Event'
}, function(error, data) {
if (error) {
console.log("error",error,data);
context.done('error', error);
}
if(data.Payload){
console.log("succeed",data.Payload);
context.succeed(data.Payload)
}
});
}else if(sub.toLowerCase()=="stoppipeline"){
console.log("Stopping Pipeline");
lambda.invoke({
FunctionName: 'StopDevOpsServers',
Payload: JSON.stringify(event, null, 2) // pass params
}, function(error, data) {
if (error) {
context.done('error', error);
}
if(data.Payload){
context.succeed(data.Payload)
}
});
context.succeed();
}else{
console.log('subjectnotRecognized')
}
}else{
console.log("noSubJect")
}
};
Ce poste probablement utile [https://stackoverflow.com/questions/31714788/can-an-aws-lambda-function-call-another](https://stackoverflow. com/questions/31714788/can-an-aws-lambda-function-call-another) – KKK
Avez-vous eu à placer votre fonction Lambda à l'intérieur de votre VPC? Si c'est le cas, vous aurez besoin d'une passerelle NAT pour que la fonction Lambda accède à l'API AWS (afin d'appeler l'autre fonction). Ou simplement le retirer du VPC. Si ce n'est pas le cas, essayez d'afficher le journal complet. –