sam local start-lambda - AWS Serverless Application Model

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

sam local start-lambda

AWS CLI または SDK を使用して、プログラムで Lambda 関数をローカルで呼び出すことができます。このコマンドは、AWS Lambda をエミュレートするローカルエンドポイントを起動します。

このコマンドを使用すると、デフォルトでAWS SAMCLIは、現在の作業ディレクトリがプロジェクトのルートディレクトリであると仮定します。-AWS SAMCLIはまず、sam buildコマンドで、.aws-samサブフォルダ、および名前付きtemplate.yamlまたはtemplate.yml。次に、AWS SAMCLIは、という名前のテンプレートファイルを検索しようとしますtemplate.yamlまたはtemplate.yml現在の作業ディレクトリで。指定すると、--templateオプションAWS SAMCLIのデフォルトの動作はオーバーライドされ、AWS SAMテンプレートと、それが指すローカルリソースです。

このローカル Lambda エンドポイントに対して自動テストを実行できます。AWS CLI または SDK を使用してこのエンドポイントに呼び出しを送信すると、リクエストで指定された Lambda 関数がローカルで実行されます。

使用:

sam local start-lambda [OPTIONS]

例:

# SETUP # ------ # Start the local Lambda endpoint by running this command in the directory that contains your AWS SAM template. sam local start-lambda # USING AWS CLI # ------------- # Then, you can invoke your Lambda function locally using the AWS CLI aws lambda invoke --function-name "HelloWorldFunction" --endpoint-url "http://127.0.0.1:3001" --no-verify-ssl out.txt # USING AWS SDK # ------------- # You can also use the AWS SDK in your automated tests to invoke your functions programatically. # Here is a Python example: # # self.lambda_client = boto3.client('lambda', # endpoint_url="http://127.0.0.1:3001", # use_ssl=False, # verify=False, # config=Config(signature_version=UNSIGNED, # read_timeout=0, # retries={'max_attempts': 0})) # self.lambda_client.invoke(FunctionName="HelloWorldFunction")

オプション:

オプション 説明
--host TEXT バインド先のローカルホスト名または IP アドレス (デフォルト:「127.0.0.1」)。
-p, --port INTEGER リッスンするローカルポート番号 (デフォルト: 「3001」)。
-t, --template PATH -AWS SAMテンプレートファイルを作成します。

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

-n, --env-vars PATH Lambda 関数の環境変数の値を含む JSON ファイル。
--parameter-overrides オプション。キーと値のペアとしてエンコードされた AWS CloudFormation パラメータオーバーライドを含む文字列。と同じ形式を使用します。AWS CLI—たとえば、「ParameterKey=KeyPairName、ParameterValue=MyKey ParameterKey=InstanceType、ParameterValue=t1.micro」です。
-d, --debug-port TEXT 指定すると、Lambda 関数コンテナをデバッグモードで起動し、このポートをローカルホストに公開します。
--debugger-path TEXT Lambda コンテナにマウントされるデバッガーへのホストパス。
--debug-args TEXT デバッガーに渡される追加の引数。
--warm-containers [EAGER | LAZY]

オプション。方法を指定しますAWS SAMCLIは、各機能のコンテナを管理します。

使用できるオプションは 2 つです。

EAGER: すべての関数のコンテナは起動時にロードされ、呼び出しの間は保持されます。

LAZY: コンテナは、各関数が最初に呼び出されたときにのみロードされます。これらのコンテナは、追加の呼び出しのために持続します。

--debug-function

オプション。ときにデバッグオプションを適用するLambda 関数を指定します--warm-containersが指定されている場合、このパラメータは、--debug-port,--debugger-path, および--debug-args

-v, --docker-volume-basedir TEXT AWS SAM ファイルが存在するベースディレクトリの場所。Docker がリモートマシンで実行されている場合は、Docker マシン上に AWS SAM ファイルが存在するパスをマウントし、この値をリモートマシンと一致するように変更する必要があります。
--docker-network TEXT Lambda Docker コンテナが接続する必要のある既存の Docker ネットワークの名前または ID、およびデフォルトのブリッジネットワークです。これを指定すると、Lambda コンテナはデフォルトのブリッジ Docker ネットワークにのみ接続します。
--container-env-vars オプション。ローカルでデバッグするときに、環境変数をイメージコンテナに渡します。
-l, --log-file TEXT ランタイムログを送信するログファイル。
--layer-cache-basedir DIRECTORY テンプレートで使用するレイヤーがダウンロードされる場所 basedir を指定します。
--skip-pull-image CLI が Lambda ランタイムの最新の Docker イメージのプルダウンをスキップするかどうかを指定します。
--force-image-build CLI がレイヤーを使用して関数を呼び出すために使用されるイメージを再構築するかどうかを指定します。
--profile TEXT 認証情報ファイルから特定のプロファイルで、AWS認証情報。
--region TEXT -AWSデプロイ先リージョン。たとえば、us-east-1 です。
--config-file PATH 使用するデフォルトのパラメータ値が含まれている設定ファイルのパスとファイル名。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルについて詳しくは、AWS SAMCLI 設定ファイル を参照してください。
--config-env TEXT 使用する設定ファイル内のデフォルトのパラメータ値を指定する環境名。デフォルト値はです。設定ファイルについて詳しくは、AWS SAMCLI 設定ファイル を参照してください。
--shutdown シャットダウン動作の拡張処理をテストするために、呼び出しが完了した後にシャットダウンイベントをエミュレートします。
--container-host TEXT ローカルでエミュレートされた Lambda コンテナのホスト。デフォルト値は localhost です。あなたが実行したい場合AWS SAMCLIをmacOS Dockerコンテナで使用する場合は、host.docker.internal。コンテナを別のホストで実行する場合AWS SAMCLI では、リモートホストの IP アドレスを指定できます。
--container-host-interface TEXT コンテナポートがバインドするホストネットワークインターフェースの IP アドレス。デフォルト値は 127.0.0.1 です。を使用する0.0.0.0を使用してすべてのインターフェイスにバインドします。
--debug デバッグログをオンにして、AWS SAMCLI およびタイムスタンプを表示します。
--help このメッセージを表示して終了します。