sam local start-lambda - AWS Serverless Application Model

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

sam local start-lambda

此頁面提供 AWS Serverless Application Model 命令列介面的參考資訊 (AWS SAM CLI) sam local start-lambda子命令。

sam local start-lambda 子命令會啟動本機端點來模擬 AWS Lambda。

用量

$ sam local start-lambda <options>

選項

--add-host LIST

將主機名稱傳遞至對應至 Docker 容器主機檔案的 IP 地址。此參數可以多次傳遞。

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

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

允許或拒絕 Beta 功能。

--config-env TEXT

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

--config-file PATH

包含要使用之預設參數值的組態檔案的路徑和檔案名稱。預設值為專案目錄根中的 "samconfig.toml"。如需關於組態檔案的詳細資訊,請參閱 AWS SAM CLI 組態檔案

--container-env-vars

選用。在本機偵錯時,將環境變數傳遞至映像容器。

--container-host TEXT

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

--container-host-interface TEXT

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

--debug

開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI 和 顯示時間戳記。

--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 網路的名稱或 ID,以及預設的橋接網路。如果指定此項目,Lambda 容器只會連線到預設的橋接 Docker 網路。

--docker-volume-basedir, -v TEXT

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

--env-vars, -n PATH

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

--force-image-build

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

--help

顯示此訊息並結束。

--hook-name TEXT

用於延伸的掛鉤名稱 AWS SAM CLI 功能。

接受的值:terraform

--host TEXT

要繫結的本機主機名稱或 IP 地址 (預設:'127.0.0.1')。

--invoke-image TEXT

您要用於本機函數調用URI之容器映像的 。根據預設, 會從 Amazon ECR Public AWS SAM 提取容器映像。使用此選項從另一個位置提取映像。

例如: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 Command Line Interface () 相同的格式AWS CLI。的 AWS SAM CLI 格式是明確索引鍵和值關鍵字,每個覆寫都會以空格分隔。以下是兩個範例:

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--port, -p INTEGER

要接聽的本機連接埠號碼 (預設:'3001')。

--profile TEXT

取得 AWS 憑證之憑證檔案的特定設定檔。

--region TEXT

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

--save-params

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

--shutdown

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

--skip-prepare-infra

如果未進行任何基礎設施變更,請略過準備階段。使用 搭配 --hook-name選項。

--skip-pull-image

指定 是否 CLI 應該略過拉下 Lambda 執行時間的最新 Docker 映像。

--template, -t PATH

AWS SAM 範本檔案。

注意

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

--terraform-plan-file

本機的相對或絕對路徑 Terraform 使用 時的計劃檔案 AWS SAM CLI 取代為 Terraform Cloud。 此選項需要--hook-name將 設定為 terraform

--warm-containers [EAGER | LAZY]

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

有兩個可用選項:

  • EAGER:所有函數的容器會在啟動時載入,並在叫用之間保留。

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

範例

如需使用sam local start-lambda子命令的詳細範例和深入演練,請參閱 使用 進行測試的簡介 sam local start-lambda