2017-02-23 17 views
1

AWS内に2つのラムダ関数があります。AWS同期ラムダとラムダとnodejsの呼び出し

機能A(FA)は、機能B(FB)を同期呼び出ししようとします。 FAがFBを呼び出そうとすると、FAはタイムアウトします。 FAはFA内のコールバックメソッドには決して到達せず、FBには呼び出されたと言うクラウドウォッチのログはありません。

私は、同じリージョン、同じ役割、およびVPC内で動作するように両方の機能を設定しました(VPCが問題を引き起こす可能性があると読んだものの、同じVPCとサブネットの設定で運がないと試しました)

ユーザの役割がAWSLambdaRole 0 AWSLambdaBasicExecutionRole

  • AWSLambdaExecute
    • に関連する次の権限を有しています

      Funciton A

      exports.handler = (event, context, callback) => { 
          var aws = require('aws-sdk'); 
          var lambda = new aws.Lambda({ 
           region: 'ap-southeast-2' 
          }); 
      
      
          lambda.invoke({ 
           FunctionName: 'async-receiver-test' 
          }, function(error, data) { 
           console.log('inside return function'); 
           if (error) { 
           context.done('error', error); 
           } 
           if(data.Payload){ 
           context.succeed(data.Payload); 
           } 
          }); 
      }; 
      

      機能B - (名=>非同期レシーバ検定)

      exports.handler = (event, context, callback) => { 
          var eventItem = {id : 53148, name : "Let's get testing"}; 
          callback(null, eventItem); 
      }; 
      

      コンソール内部関数Aの実行が

      REPORTのRequestId返し:2db82333-f9c3-を11e6-8160-93bd7ddf5b19長さ:3000.43 ms請求期間:3000 msメモリサイズ:128 MB最大使用メモリ:25 MB
      2017-02-23T12:25:39.363Z 2db82333-f9c3-11e6-8160-93bd7dタスクは、コンソール内の機能Bを実行して3.00秒後に

      をタイムアウトになりました(所要時間:14.36ミリ秒)df5b19

      { "ID":53148、 "名前": "のは、テストを取得してみましょう" }

      FBからは私が知ることができない問題はありませんが、何らかの理由でFAから呼び出されたときに応答がありません。

  • 答えて

    0

    したがって、FAのタイムアウトを10秒に増やすと、呼び出しが機能します。 FBを呼び出すために、デフォルトのタイムアウトよりも何も必要ないと思ったことはありませんでした。ただし、実行に3秒以上かかっていたため、最初のコールにはより長いタイムアウトが必要でした。後続のコールは100msの範囲で実行されていました。私は後ろにVPCの設定を追加するとき

    はまだ問題を抱えているが、今、私はその呼び出しは私がここに

    https://stackoverflow.com/a/39206646/564957

    解決されたと信じて問題に取り組むことができます取り組んでいる知っています
    関連する問題