Invoking Functions Locally - AWS Serverless Application Model

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Invoking Functions Locally

関数の論理 ID とイベントファイルを指定することで、sam local invoke コマンドを使用して関数をローカルで呼び出すことができます。または、sam local invoke はイベントとして stdin も受け入れます。

注記

これは sam local invoke このセクションで説明するコマンドは、 AWS CLI コマンド aws lambda invoke。このコマンドのバージョンを使用して、 Lambda AWSクラウドにアップロードした機能。

呼び出す関数を含むプロジェクトディレクトリで、sam local invoke を実行する必要があります。

例:

# Invoking function with event file $ sam local invoke "Ratings" -e event.json # Invoking function with event via stdin $ echo '{"message": "Hey, are you there?" }' | sam local invoke --event - "Ratings" # For more options $ sam local invoke --help

このアニメーションは、Microsoft Visual Studio Code を使用してローカルで Lambda 関数を呼び出す様子を示しています。

Environment Variable File

--env-vars 引数は、invoke コマンドまたは start-api コマンドで使用できます。これは、関数テンプレートですでに定義されている環境変数をオーバーライドする値を含む JSON ファイルを提供するために行います 次のようにファイルを構成します。

{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket" }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" } }

たとえば、このコンテンツを env.json という名前のファイルに保存した場合、次のコマンドはこのファイルを使用して、含まれる環境変数を上書きします。

sam local invoke --env-vars env.json

Layers

アプリケーションにレイヤーが含まれている場合は、ローカルホストでレイヤーの問題をデバッグする方法の詳細について、「Working with Layers」を参照してください。