

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# sam local invoke
<a name="sam-cli-command-reference-sam-local-invoke"></a>

このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) `sam local invoke`サブコマンドのリファレンス情報を提供します。
+ の概要については AWS SAM CLI、「」を参照してください。 [とは AWS SAM CLI](what-is-sam-overview.md#what-is-sam-cli)
+ `sam local invoke` サブコマンドの使用に関するドキュメントについては、 AWS SAM CLI「」を参照してください[sam local invoke を使用したテストの概要](using-sam-cli-local-invoke.md)。

`sam local invoke` サブコマンドは、 AWS Lambda 関数の 1 回限りの呼び出しをローカルで開始します。

**注記**  
信頼できないコードで SAM CLI のローカル呼び出し機能を使用することはお勧めしません。ローカル環境から完全に分離するには、Lambda サービスでコードを直接実行します。

**注記**  
耐久性のある関数の場合、 は自動チェックポイントとリプレイによるステートフル実行`sam local invoke`をサポートします。コンテナは、永続的な関数の実行中に実行され続け、状態の永続化と再開を処理します。

## Usage
<a name="ref-sam-cli-local-invoke-usage"></a>

```
$ sam local invoke <arguments> <options>
```

**注記**  
 AWS SAM テンプレートに複数の関数が定義されている場合は、呼び出す関数の論理 ID を指定します。

## 引数
<a name="ref-sam-cli-local-invoke-args"></a>

**Resource ID (リソース ID)**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
呼び出す Lambda 関数の ID。  
この引数はオプションです。アプリケーションに 1 つの Lambda 関数が含まれている場合、CLI AWS SAM はその関数を呼び出します。アプリケーションに複数の関数が含まれている場合は、呼び出す関数の ID を指定します。  
有効な値: リソースの論理 ID またはリソース ARN。

## オプション
<a name="ref-sam-cli-local-invoke-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-invoke-options-add-host"></a>
Docker コンテナのホストファイルへの IP アドレスマッピングに、ホスト名を渡します。このパラメータは、複数回渡すことができます。  

**Example**  
例: `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-invoke-options-beta-features"></a>
ベータ機能を許可または拒否します。

`--config-env TEXT`  <a name="ref-sam-cli-local-invoke-options-config-env"></a>
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--config-file PATH`  <a name="ref-sam-cli-local-invoke-options-config-file"></a>
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「`samconfig.toml`」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--container-env-vars`  <a name="ref-sam-cli-local-invoke-options-container-env-vars"></a>
(オプション) ローカルでデバッグするときに、環境変数を Lambda 関数イメージコンテナに渡します。

`--container-host TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host"></a>
ローカルでエミュレートされた Lambda コンテナのホストです。デフォルト値は `localhost` です。macOS 上の Docker コンテナで AWS SAM CLI を実行する場合は、`host.docker.internal` を指定できます。コンテナを とは異なるホストで実行する場合は AWS SAM CLI、リモートホストの IP アドレスを指定できます。

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host-interface"></a>
コンテナポートがバインドする必要があるホストネットワークインターフェイスの IP アドレスです。デフォルト値は `127.0.0.1` です。`0.0.0.0` を使用して、すべてのインターフェイスにバインドします。

`--debug`  <a name="ref-sam-cli-local-invoke-options-debug"></a>
デバッグロギングをオンにして、 AWS SAM CLI が生成するメッセージを出力表示し、タイムスタンプを表示します。

`--debug-args TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-args"></a>
デバッガーに渡す追加の引数です。

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-port"></a>
これを指定すると、Lambda 関数コンテナがデバッグモードで起動され、このポートがローカルホストに公開されます。

`--debugger-path TEXT`  <a name="ref-sam-cli-local-invoke-options-debugger-path"></a>
Lambda コンテナにマウントされたデバッガーへのホストパスです。

`--docker-network TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-network"></a>
デフォルトのブリッジネットワークと共に、Lambda Docker コンテナが接続される必要がある既存の Docker ネットワークの名前または ID です。これを指定しない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークだけに接続します。

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-volume-basedir"></a>
 AWS SAM ファイルが存在するベースディレクトリの場所。Docker がリモートマシンで実行されている場合は、Docker マシンに AWS SAM ファイルが存在するパスをマウントし、この値をリモートマシンに合わせて変更する必要があります。

`--durable-execution-name TEXT`  <a name="ref-sam-cli-local-invoke-options-durable-execution-name"></a>
永続的な実行の名前 (永続的な関数のみ)

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-invoke-options-env-vars"></a>
Lambda 関数の環境変数の値を含む JSON または `.env` ファイル。ファイル形式が自動的に検出されます。環境変数ファイルの詳細については、「[環境変数ファイル](serverless-sam-cli-using-invoke.md#serverless-sam-cli-using-invoke-environment-file)」を参照してください。

`--event, -e PATH`  <a name="ref-sam-cli-local-invoke-options-event"></a>
呼び出されたときに Lambda 関数に渡されるイベントデータが含まれる JSON ファイルです。このオプションを指定しない場合、イベントは想定されません。`stdin` からの JSON を入力するには、値「-」を渡す必要があります。さまざまな AWS サービスのイベントメッセージ形式の詳細については、「 *AWS Lambda デベロッパーガイド*」の[「他の のサービスの使用](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html)」を参照してください。

`--force-image-build`  <a name="ref-sam-cli-local-invoke-options-force-image-build"></a>
レイヤーがある Lambda 関数を呼び出すために使用されるイメージを AWS SAM CLI が再構築すべきかどうかを指定します。

`--help`  <a name="ref-sam-cli-local-invoke-options-help"></a>
このメッセージを表示して終了します。

`--hook-name TEXT`  <a name="ref-sam-cli-local-invoke-options-hook-name"></a>
 AWS SAM CLI 機能の拡張に使用されるフックの名前。  
許容値: `terraform`。

`--invoke-image TEXT`  <a name="ref-sam-cli-local-invoke-options-invoke-image"></a>
ローカル関数の呼び出しに使用するコンテナーイメージの URI。デフォルトで、 AWS SAM は Amazon ECR Public ([のイメージリポジトリ AWS SAM](serverless-image-repositories.md) に一覧を記載) からコンテナイメージをプルします。このオプションは、別の場所からイメージをプルするために使用します。  
例えば、`sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`。

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-invoke-options-layer-cache-basedir"></a>
テンプレートで使用するレイヤーがダウンロードされるベースディレクトリの場所を指定します。

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-invoke-options-log-file"></a>
ランタイムログを送信するログファイルです。

`--mount-symlinks`  <a name="ref-sam-cli-local-invoke-options-mount-symlinks"></a>
 AWS SAMCLI は、ビルドまたは呼び出すファイルに存在するシンボリックリンクを常にマウントします。これは、最上位ディレクトリのシンボリックリンク (つまり、関数のルートに直接あるシンボリックリンク) にのみ適用されます。デフォルトでは、シンボリックリンクは、NodeJS で `node_modules` の `build-in-source` を使用するために必要なものを除いてマウントされません。

`--no-event`  <a name="ref-sam-cli-local-invoke-options-no-event"></a>
空のイベントを使用して関数を呼び出します。

`--no-memory-limit`  <a name="ref-sam-cli-local-invoke-options-no-memory-limit"></a>
 AWS SAM テンプレートでメモリが設定されている場合でも、ローカル呼び出し中にコンテナのメモリ制限を削除します。

`--parameter-overrides`  <a name="ref-sam-cli-local-invoke-options-parameter-overrides"></a>
キーと値のペアとしてエンコードされた CloudFormation パラメータオーバーライドを含む文字列。 AWS Command Line Interface () と同じ形式を使用しますAWS CLI。 AWS SAM CLI 形式は明示的なキーと値のキーワードで構成され、各オーバーライドはスペースで区切られます。ここでは、以下の 2 つの例を示します。  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--profile TEXT`  <a name="ref-sam-cli-local-invoke-options-profile"></a>
認証情報を取得する AWS 認証情報ファイルからの特定のプロファイル。

`--region TEXT`  <a name="ref-sam-cli-local-invoke-options-region"></a>
デプロイ先の AWS リージョン。例えば、us-east-1 などです。

`--runtime TEXT`  <a name="ref-sam-cli-local-invoke-options-runtime"></a>
指定されたランタイムを使用して、Lambda 関数をローカルで呼び出します。これにより、`template.yml` ファイルで定義されているランタイムが上書きされます。また、元の関数設定を変更することなく、異なるランタイムで Lambda 関数をテストすることも可能になります。

`--save-params`  <a name="ref-sam-cli-local-invoke-options-save-params"></a>
コマンドラインで指定したパラメータを設定 AWS SAM ファイルに保存します。

`--shutdown`  <a name="ref-sam-cli-local-invoke-options-shutdown"></a>
シャットダウン動作の拡張機能処理をテストするために、呼び出し完了後にシャットダウンイベントをエミュレートします。

`--skip-prepare-infra`  <a name="ref-sam-cli-local-invoke-options-skip-prepare-infra"></a>
インフラストラクチャに変更が加えられていない場合は、準備段階をスキップします。`--hook-name` オプションと合わせて使用します。

`--skip-pull-image`  <a name="ref-sam-cli-local-invoke-options-skip-pull-image"></a>
デフォルトでは、 AWS SAM CLI は Lambda の最新のリモートランタイム環境を確認し、ローカルイメージを自動的に更新して同期を維持します。  
このオプションを指定して、Lambda ランタイム環境の最新の Docker イメージのプルダウンをスキップします。

`--template, -t PATH`  <a name="ref-sam-cli-local-invoke-options-template"></a>
 AWS SAM テンプレートファイル。  
このオプションは `--hook-name` と互換性がありません。  
このオプションを指定すると、 はテンプレートとそれが指すローカルリソースのみを AWS SAM ロードします。

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
マルチテナント Lambda 関数のテナント ID。異なるテナント間のコンピューティング分離を確保するために使用されます。テナント分離モードで設定された関数を呼び出すときに必要です。

`--terraform-plan-file`  <a name="ref-sam-cli-local-invoke-options-terraform-plan-file"></a>
Terraform Cloud で AWS SAMCLI を使用する場合のローカル Terraform プランファイルへの相対パスまたは絶対パス。このオプションは `--hook-name` を `terraform` に設定する必要があります。

## 例
<a name="sam-cli-command-reference-sam-local-invoke-examples"></a>

次の例では、`s3.json` イベントを使用して Lambda 関数をローカルで呼び出すことで、生成されたイベントをローカルテストに使用します。

```
$ sam local invoke --event events/s3.json S3JsonLoggerFunction
```

次の例では、Python 3.11 ランタイムを使用して ` HelloWorldFunction` 関数をテストします。

```
$ sam local invoke --runtime python3.11 HelloWorldFunction
```

次の例では、耐久性のある実行名` HelloWorldFunction`で関数をテストします。

```
$ sam local invoke HelloWorldFunction --durable-execution-name my-execution
```