ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript/Node.js を使用してローカルでラムダを実行する

Javascript/Node.js を使用してローカルでラムダを実行する

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 06:23:45652ブラウズ

Running lambdas locally using Javascript/Node.js

AWS Lambda をテストするためだけにクラウドにデプロイすることにうんざりしていませんか?これは、校正のためだけに自分に手紙を郵送するようなものです。時間もコストもかかり、まったく必要ありません。

JavaScript アプリケーションから直接、ローカルで Lambda を呼び出すことができたらどうなるでしょうか?クラウドの往復や待ち時間がなく、即座にフィードバックが得られます。 AWS SAM (サーバーレス アプリケーション モデル) と Node.JS/JavaScript を少し使用すると、マシン上で Lambda をテストおよびデバッグでき、時間とお金を節約できます。

前提条件:

私は Windows PC を使用しており、先に進む前に次のことをセットアップしています:

  • AWS SDK
aws --version
  • SAM CLI
sam --version
  • ドッカー
docker --version
  • Node.js
node --version

始めましょう!

まず init コマンドを使用してデモ アプリケーションを作成し、次にアプリケーション コード (Nodejs) 内でラムダを呼び出します。

1> プロジェクトを設定するフォルダーに移動します。

sam init --runtime nodejs

これにより、基本的な Hello World アプリケーションが作成されます。これには、イベントを受け取り、Hello World メッセージとともに特定の URL から受信したデータを返す単純な Lambda ハンドラーがあります。

ファイルが何を実装し、コードがどのように機能するかを詳しく見てみましょう:

  • SAM テンプレート (template.js) -> HelloWorld Function を実装し、Hello World SLASH に設定されたコード URI プロパティを使用します。これは、Lambda ハンドラー コードが Hello World フォルダー内にあることを意味します。
    • app.js ->これは SAM テンプレートの Handler プロパティで参照され、Lambda Handler と呼ばれるエクスポートされた関数が含まれています。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。