Sunucusuz: Ateşle ve çağır yöntemiyle unut beklendiği gibi çalışmıyor


9

Ben bir yöntem (çağırmak) ateş ve unutmak istiyorum Sunucusuz bir lambda işlevi var

Bu şekilde yapıyorum

   // 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
  }

Ben yapana kadar ve sürece fark ettik Promise returnin myFunction1, bu tetiği değil myFunction2, ancak lambda ayarlamamalıdır InvocationType = "Event"bunu olmak istiyorum anlamına yangın ve unutmak ve geri arama yanıtı umurumda değil?

Burada bir şey mi eksik?

Herhangi bir yardım çok takdir edilmektedir.


Cloudwatch'daki günlükleri çağırma işleminin neden başarısız olduğunu kontrol ettiniz mi?
Surendhar E

Yanıtlar:


2

Sizin myFunction1işlevini verir önce yüzden bir zaman uyumsuz işlevi olmalıdır myFunction2çağırılacak lambda.invoke(). Kodu aşağıdaki şekilde değiştirin, ardından çalışması gerekir:

 const params = {
    FunctionName: "myLambdaPath-myFunction2", 
    InvocationType: "Event", 
    Payload: JSON.stringify(body), 
 };

 console.log('invoking lambda function2'); // Able to log this line
 return await lambda.invoke(params, function(err, data) {
     if (err) {
       console.error(err, err.stack);
     } else {
       console.log(data);
     }
 }).promise();


 // my function2 handler
 myFunction2 = async (event) => {
   console.log('does not come here') // Not able to log this line
 }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.