sam local invoke - AWS Serverless Application Model

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

sam local invoke

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

sam local invoke子命令會在本機啟動函數的一次性叫用。 AWS Lambda

用量

$ sam local invoke <arguments> <options>
注意

如果您在 AWS SAM 範本中定義了多個函數,請提供您要叫用的函數邏輯 ID。

引數

資源 ID

要叫用的 Lambda 函數識別碼。

此為選用引數。如果您的應用程式包含單一 Lambda 函數, AWS SAM CLI 會叫用它。如果您的應用程式包含多個函數,請提供要叫用之函數的 ID。

有效值:資源的邏輯 ID 或資源 ARN。

選項

--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

(選擇性) 在本機偵錯時,將環境變數傳遞至 Lambda 函數映像容器。

--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-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 檔案。如需環境變數檔案的更多資訊,請參閱環境變數檔案

--event, -e PATH

包含在叫用 Lambda 函數時傳遞至 Lambda 函數的事件資料的 JSON 檔案。如果您未指定此選項,則不會假設任何事件。要從中輸入 JSONstdin,您必須傳入值 '-'。如需有關不同 AWS 服務之事件訊息格式的詳細資訊,請參閱開AWS Lambda 發人員指南中的使用其他服務

--force-image-build

指定是否 AWS SAMCLI應重建用來呼叫 Lambda 函數與圖層的影像。

--help

顯示此訊息並結束。

--hook-name TEXT

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

接受的值:terraform

--invoke-image TEXT

要用於本機函數叫用之容器映像檔的 URI。根據預設,會從 Amazon ECR 公開 (列於的映像儲存庫 AWS SAM) AWS SAM 提取容器映像檔。使用此選項可從其他位置提取影像。

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

--layer-cache-basedir DIRECTORY

指定將範本使用的圖層下載到的基本目錄的位置。

--log-file, -l TEXT

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

--no-event

叫用具有空事件的函數。

--parameter-overrides

(選擇性) 包含編碼為索引鍵值配對之 AWS CloudFormation 參數覆寫的字串。使用與 AWS Command Line Interface (AWS CLI) 相同的格式。例如:'ParameterKey=KeyPairNameParameterValue= MyKey ParameterKey =InstanceTypeParameterValue=t1.micro'。

此選項與不相容--hook-name

--profile TEXT

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

--region TEXT

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

--save-params

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

--shutdown

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

--skip-prepare-infra

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

--skip-pull-image

依預設,會 AWS SAMCLI檢查 Lambda 最新的遠端執行階段環境,並自動更新本機映像以保持同步。

指定此選項可略過下拉 Lambda 執行階段環境的最新Docker影像。

--template, -t PATH

AWS SAM 範本檔案。

此選項與不相容--hook-name

注意

如果指定此選項,則僅 AWS SAM 載入範本及其指向的本機資源。

--terraform-plan-file

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