ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript/Node.js を使用してローカルでラムダを実行する
AWS Lambda をテストするためだけにクラウドにデプロイすることにうんざりしていませんか?これは、校正のためだけに自分に手紙を郵送するようなものです。時間もコストもかかり、まったく必要ありません。
JavaScript アプリケーションから直接、ローカルで Lambda を呼び出すことができたらどうなるでしょうか?クラウドの往復や待ち時間がなく、即座にフィードバックが得られます。 AWS SAM (サーバーレス アプリケーション モデル) と Node.JS/JavaScript を少し使用すると、マシン上で Lambda をテストおよびデバッグでき、時間とお金を節約できます。
私は Windows PC を使用しており、先に進む前に次のことをセットアップしています:
aws --version
sam --version
docker --version
node --version
まず init コマンドを使用してデモ アプリケーションを作成し、次にアプリケーション コード (Nodejs) 内でラムダを呼び出します。
1> プロジェクトを設定するフォルダーに移動します。
sam init --runtime nodejs
これにより、基本的な Hello World アプリケーションが作成されます。これには、イベントを受け取り、Hello World メッセージとともに特定の URL から受信したデータを返す単純な Lambda ハンドラーがあります。
ファイルが何を実装し、コードがどのように機能するかを詳しく見てみましょう:
package.json に「axios」という名前の依存関係があることがわかります。このモジュールは、指定された URL に対して HTTP リクエストを行うために単に使用されていることに注意してください。
2> ファイルがあるフォルダーに移動して、package.json から依存関係をインストールし、次のコマンドを使用します。
npm install
3> 次に、コマンドを実行して Lambda サービスをローカルで開始します。
sam local start-lambda
これで、ローカル Lambda サービスがポート 3001 で実行されます。
4> AWS SDK を使用して、アプリケーション コード内からラムダ関数を呼び出します。これを行うには、サンプルのnode.jsプロジェクトを作成しましょう。新しいフォルダーを作成し、そのフォルダーに移動してコマンドを入力します。
npm init npm install aws-sdk --save
5> 次に、test.js ファイルを作成して AWS SDK を参照し、AWS リージョンを設定し、Lambda オブジェクトをインスタンス化します。
aws --version
ここでのパラメータ オブジェクトは、Lambda 関数を呼び出し、アプリケーション コードに従って関数名を置き換えます。エンドポイントは、ローカル Lambda サービスが開始されるエンドポイントを指します。
6> 次に、新しいターミナルでコマンドを実行します。
sam --version
7> 検証とテスト: AWS SAM PowerShell に戻ると、最初に関数を Docker コンテナにロードし、入力イベント データを使用して実行します。
他のターミナルに戻ると、ステータス コード 200 ✅、メッセージ Hello World、および場所の IP アドレス? を含む Lambda 関数からの応答が表示されます。
これで、快適なローカル設定を離れることなく、AWS Lambda 関数 をテストするためのより速く、よりスマートな方法が完成しました。 JavaScript と NodeJS を使用して Lambdas をローカルで呼び出すことで、まったく新しいレベルの効率を実現できます。クラウドのコストを低く抑えながら、反復処理を高速化し、よりスマートにデバッグし、より優れたアプリを構築できるようになりました。
コーディングを楽しんでください。そして、あなたの Lambda がクラウド上と同じように常にローカルでスムーズに実行されますように! ?
以上がJavascript/Node.js を使用してローカルでラムダを実行するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。