sam local invoke - AWS Serverless Application Model

sam local invoke

ローカル AWS Lambda 関数を一回呼び出して、呼び出し完了後に終了します。

このコマンドを使用する場合、AWS SAM CLI はデフォルトで、現在の作業ディレクトリがプロジェクトのルートディレクトリであると想定します。AWS SAM CLI はまず、sam build コマンドを使用して構築されたテンプレートファイルを見つけようとします。これは .aws-sam サブフォルダにあり、template.yaml または template.yml と命名されています。AWS SAM CLI は次に、現在の作業ディレクトリで、template.yaml または template.yml と命名されているテンプレートファイルを見つけようとします。--template オプションを指定する場合、AWS SAM CLI のデフォルト動作が上書きされ、その AWS SAM テンプレートと、それがポイントするローカルリソースだけがロードされます。

ネストされたアプリケーションまたはスタックの関数を呼び出すには、StackLogicalId/FunctionLogicalId 形式を使用して、関数の論理 ID と共に、アプリケーションまたはスタックの論理 ID を提供できます。

sam local invoke コマンドは、Amazon Simple Storage Service (Amazon S3) イベントや Amazon Kinesis イベントなどの非同期イベントを処理するサーバーレス関数の開発に役立ちます。これは、テストケースのスクリプトを作成する場合にも便利です。--event パラメータを使用してイベントの本文を渡すことができます。イベントの詳細については、AWS Lambda デベロッパーガイドの「イベント」を参照してください。AWS の異なるサービスからのイベントメッセージ形式の詳細については、AWS Lambda デベロッパーガイドの「他のサービスで AWS Lambda を使用する」を参照してください。

ランタイム出力 (ログなど) は stderr に出力され、Lambda 関数の結果は stdout に出力されます。

注記

AWS SAM テンプレートに複数の関数が定義されている場合は、呼び出す関数の FUNCTION_LOGICAL_ID を提供する必要があります。

使用方法:

sam local invoke [OPTIONS] [FUNCTION_LOGICAL_ID]

オプション:

オプション 説明
-e, --event PATH 呼び出されたときに Lambda 関数に渡されるイベントデータが含まれる JSON ファイルです。このオプションを指定しない場合、イベントは想定されません。stdin からの JSON を入力するには、値「-」を渡す必要があります。AWS の異なるサービスからのイベントメッセージ形式の詳細については、AWS Lambda デベロッパーガイドの「他のサービスで AWS Lambda を使用する」を参照してください。
--no-event 空のイベントを使用して関数を呼び出します。
-t, --template PATH AWS SAM テンプレートファイルです。

注意: このオプションを指定すると、AWS SAM は、テンプレートと、それがポイントするローカルリソースのみをロードします。

-n, --env-vars PATH Lambda 関数の環境変数の値が含まれる JSON ファイルです。環境変数ファイルの詳細については、「環境変数ファイル」を参照してください。
--parameter-overrides (オプション) キーバリューペアとしてエンコードされた、AWS CloudFormation パラメータオーバーライドが含まれる文字列です。AWS Command Line Interface (AWS CLI) と同じ形式を使用します。例えば、「ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro」などです。
-d, --debug-port TEXT これを指定すると、Lambda 関数コンテナがデバッグモードで起動され、このポートがローカルホストに公開されます。
--debugger-path TEXT Lambda コンテナにマウントされたデバッガーへのホストパスです。
--debug-args TEXT デバッガーに渡す追加の引数です。
-v, --docker-volume-basedir TEXT AWS SAM ファイルが存在するベースディレクトリの場所です。Docker がリモートマシンで実行されている場合は、AWS SAM ファイルが存在する場所のパスを Docker マシンにマウントし、この値をリモートマシンと一致するように変更する必要があります。
--docker-network TEXT デフォルトのブリッジネットワークと共に、Lambda Docker コンテナが接続される必要がある既存の Docker ネットワークの名前または ID です。これを指定しない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークだけに接続します。
--container-env-vars (オプション) ローカルでデバッグするときに、環境変数を Lambda 関数イメージコンテナに渡します。
-l, --log-file TEXT ランタイムログを送信するログファイルです。
--layer-cache-basedir DIRECTORY テンプレートで使用するレイヤーがダウンロードされるベースディレクトリの場所を指定します。
--skip-pull-image Lambda ランタイムの最新 Docker イメージのプルダウンを AWS SAM CLI がスキップすべきかどうかを指定します。
--force-image-build レイヤーがある Lambda 関数を呼び出すために使用されるイメージを AWS SAM CLI が再構築すべきかどうかを指定します。
--profile TEXT AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--region TEXT デプロイ先の AWS リージョンです。例えば、us-east-1 などです。
--config-file PATH 使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI の設定ファイル」を参照してください。
--config-env TEXT 使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI の設定ファイル」を参照してください。
--shutdown シャットダウン動作の拡張機能処理をテストするために、呼び出し完了後にシャットダウンイベントをエミュレートします。
--container-host TEXT ローカルでエミュレートされた Lambda コンテナのホストです。デフォルト値は localhost です。macOS 上の Docker コンテナで AWS SAM CLI を実行する場合は、host.docker.internal を指定できます。AWS SAM CLI 以外のホストでコンテナを実行する場合は、リモートホストの IP アドレスを指定できます。
--container-host-interface TEXT コンテナポートがバインドする必要があるホストネットワークインターフェイスの IP アドレスです。デフォルト値は 127.0.0.1 です。0.0.0.0 を使用して、すべてのインターフェイスにバインドします。
--debug デバッグロギングをオンにして、AWS SAM CLI が生成するメッセージを出力表示し、タイムスタンプを表示します。
--help このメッセージを表示して終了します。