2017-06-07 1 views
1

私はnodejsアプリケーションと w.r.tこのリンクを使用しています: - http://blog.rowanudell.com/testing-serverless-functions-locally/nodejsアプリケーションの.jsファイルからlambda-localコマンドを起動する方法

$ lambda-local -f index.js on CLIでラムダ関数をローカルに呼び出すことができました。

トリガする方法はnodejsアプリケーションのの.jsファイル内から同じありますか?

+0

あなたはhttps://nodejs.org/api/child_process.htmlを使用して、任意の外部コマンドをexecしことができます。それはあなたのために働くのでしょうか、あるいはあなたがインポートしたコード(例えば、必要なノードモジュール)を経由する必要がありますか? – jarmod

答えて

0

これは、ジョブを実行する必要があります。

// set the event data you want here 
const event = {}; 
// mock the context if needed here 
const context = {}; 
// retrieve the result of the lambda here 
const cb = (err, res) => { 
    console.log(err, res); 
}; 

// load the file containing the Lambda handler 
const lambda = require("./path/to/index.js"); 
// call the handler 
lambda.handler(event, context, cb); 
+0

はい、これはサーバーサイドコード(またはnodejs端末)から機能します。しかし、私はクライアント側のコード(angularjsコード)からラムダ関数を呼び出したい。何かご意見は?私のラムダ関数をローカルにヒットするための方法はありますか? – nodejs1

+0

質問は "* nodejsアプリケーションの.jsファイルの中にある" *ので、これは別の質問だと思います。ラムダがブラウザから呼び出せるようにするには、[APIゲートウェイ](http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html)を使用する必要があります。 * "ラムダ関数**をローカルにホストするために**" **はanglejsクライアント側のコードから打ち込んだ* "という意味を理解していません。 –

+0

AngularアプリケーションからAPIゲートウェイを呼び出し、lambda *をローカルで実行しないでください*。それ以外の場合は、APIゲートウェイをシミュレートして関数を呼び出すNode.jsアプリケーションを実行する必要があります。 AWSの開発目的でラムダとAPIエンドポイントを作成することをお勧めします。 –

関連する問題