本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
sam local invoke
本頁提供「 AWS Serverless Application Model 指令行介面」(AWS SAMCLI) sam local invoke
子指令的參考資訊。
-
如需「」的簡介 AWS SAMCLI,請參閱什麼是 AWS SAMCLI?。
-
如需使用 AWS SAMCLI
sam local invoke
子指令的文件,請參閱測試簡介 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 檔案。如果您未指定此選項,則不會假設任何事件。要從中輸入 JSON
stdin
,您必須傳入值 '-'。如需有關不同 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
=KeyPairName
,ParameterValue
=MyKey
ParameterKey
=InstanceType
,ParameterValue
=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
。