sam local start-lambda - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

sam local start-lambda

本頁提供「 AWS Serverless Application Model 指令行介面」(AWS SAMCLI) sam local start-lambda 子指令的參考資訊。

sam local start-lambda子命令啟動要模擬 AWS Lambda的本地端點。

用量

$ sam local start-lambda <options>

選項

--add-host LIST

將主機名稱傳遞給 IP 地址映射到 Docker 容器的主機文件。此參數可以多次傳遞。

範例:--add-host example.com:127.0.0.1

--beta-features | --no-beta-features

允許或拒絕測試版功能。

--config-env TEXT

指定組態檔案中要使用的預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊,請參閱 AWS SAMCLI配置文件

--config-file PATH

包含要使用的預設參數值的組態檔案的路徑和檔案名稱。默認值是項目目錄的根目錄中的「samconfig.toml」。如需關於組態檔案的詳細資訊,請參閱 AWS SAMCLI配置文件

--container-env-vars

選用。在本地調試時將環境變量傳遞給映像容器。

--container-host TEXT

本機模擬 Lambda 容器的主機。預設值為 localhost。如果要在 macOS 上的 Docker 容器 AWS SAMCLI中運行,則可以指定host.docker.internal。如果您想要在不同的主機上執行容器 AWS SAMCLI,您可以指定遠端主機的 IP 位址。

--container-host-interface TEXT

容器連接埠應繫結之主機網路介面的 IP 位址。預設值為 127.0.0.1。用0.0.0.0於繫結至所有介面。

--debug

開啟偵錯記錄以列印由產生的偵錯訊息, AWS SAMCLI並顯示時間戳記。

--debug-args TEXT

要傳遞給調試器的其他參數。

--debug-function

選用。指定 Lambda 函數,以在指定時--warm-containers套用偵錯選項。此參數適用於--debug-port--debugger-path、和--debug-args

--debug-port, -d TEXT

如果有指定,系統會以偵錯模式啟動 Lambda 函數容器,並在本機主機上公開此連接埠。

--debugger-path TEXT

要掛接至 Lambda 容器的除錯程式的主機路徑。

--docker-network TEXT

Lambda Docker 容器應連線到的現有 Docker 網路名稱或識別碼,以及預設橋接網路。如果指定此選項,Lambda 容器只會連線到預設的橋接器 Docker 網路。

--docker-volume-basedir, -v TEXT

AWS SAM 檔案所在之基本目錄的位置。如果 Docker 在遠端機器上執行,您必須掛載 Docker 機器上 AWS SAM 檔案所在的路徑,並修改此值以符合遠端機器。

--env-vars, -n PATH

包含 Lambda 函數環境變數值的 JSON 檔案。

--force-image-build

指定是否CLI應該重建用於使用圖層調用函數的映像。

--help

顯示此訊息並結束。

--hook-name TEXT

用來擴充 AWS SAMCLI功能的掛接名稱。

接受的值:terraform

--host TEXT

要綁定的本地主機名稱或 IP 地址(默認值:'127.0.0.1')。

--invoke-image TEXT

要用於本機函數叫用之容器映像檔的 URI。默認情況下, AWS SAM 從 Amazon ECR 公共提取容器映像。使用此選項可從其他位置提取影像。

例如 sam local start-lambda MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8

--layer-cache-basedir DIRECTORY

指定範本使用的圖層下載到哪個位置。

--log-file, -l TEXT

要將執行階段記錄檔傳送至的記錄檔。

--parameter-overrides

選用。包含編碼為索引鍵值配對之 AWS CloudFormation 參數覆寫的字串。使用與 — 相同的格式 AWS CLI— 例如,'ParameterKey=,ParameterValueMyKey ParameterKey= KeyPairNameInstanceType,ParameterValue=t1.micro'。此選項與不相容--hook-name

--port, -p INTEGER

要監聽的本地端口號(默認值:'3001')。

--profile TEXT

從您的認證檔案取得 AWS 認證的特定設定檔。

--region TEXT

要部署的 AWS 區域。例如 us-east-1。

--save-params

將您在命令列中提供的參數儲存到 AWS SAM 組態檔案中。

--shutdown

在叫用完成後模擬 shutdown 事件,以測試關機行為的延伸處理。

--skip-prepare-infra

如果未進行基礎結構變更,則略過準備階段。搭配--hook-name選項使用。

--skip-pull-image

指定是否CLI應略過向下拉 Lambda 執行階段的最新 Docker 映像檔。

--template, -t PATH

AWS SAM 範本檔案。

注意

如果指定此選項,則僅 AWS SAM 載入範本及其指向的本機資源。此選項與不相容--hook-name

--terraform-plan-file

AWS SAMCLI搭配使用時,本端Terraform平面檔的相對或絕對路徑Terraform Cloud。此選項需要--hook-name將設定為terraform

--warm-containers [EAGER | LAZY]

選用。指定如何 AWS SAMCLI管理每個函數的容器。

有兩個選項可供選擇:

  • EAGER:所有函數的容器都在啟動時加載,並在調用之間保留。

  • LAZY:只有在第一次呼叫每個函數時,才會載入容器。這些容器會持續存在,以進行其他調用。