本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
sam local start-api
此頁面提供 AWS Serverless Application Model 命令列介面的參考資訊 (AWS SAM CLI) sam local start-api
子命令。
-
如需 的簡介 AWS SAM CLI,請參閱 什麼是 AWS SAM CLI?
-
有關使用 的文件 AWS SAM CLI
sam local start-api
子命令,請參閱 使用 進行測試的簡介 sam local start-api。
sam local start-api
子命令會在本機執行 AWS Lambda 函數,透過本機HTTP伺服器主機進行測試。
用量
$
sam local start-api
<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
-
指定 是否 AWS SAM CLI 應該重建用於調用具有圖層的函數的映像。
--help
-
顯示此訊息並結束。
--hook-name
TEXT
-
用於延伸的掛鉤名稱 AWS SAM CLI 功能。
接受的值:
terraform
。 --host
TEXT
-
要繫結的本機主機名稱或 IP 地址 (預設:'127.0.0.1')。
--invoke-image
TEXT
-
您要用於 Lambda 函數URI的容器映像的 。根據預設, 會從 Amazon ECR Public AWS SAM 提取容器映像。使用此選項從另一個位置提取映像。
您可以多次指定此選項。此選項的每個執行個體都可以使用字串或鍵值對。如果您指定字串,則容器映像URI的 會用於應用程式中的所有函數。例如:
sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8
。如果您指定索引鍵值對,則索引鍵是資源名稱,而 值是用於該資源URI的容器映像的 。例如sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8 --invoke-image Function1=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
-
要接聽的本機連接埠號碼 (預設:'3000')。
--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 映像。
--ssl-cert-file
PATH
-
SSL 憑證檔案的路徑 (預設:無)。使用此選項時,也必須使用
--ssl-key-file
選項。 --ssl-key-file
PATH
-
SSL 金鑰檔案的路徑 (預設:無)。使用此選項時,也必須使用
--ssl-cert-file
選項。 --static-dir, -s
TEXT
-
任何位於此目錄中的靜態資產 (例如 CSS/JavaScript/HTML) 檔案都會顯示在 。
/
--template, -t
PATH
-
AWS SAM 範本檔案。
注意
如果您指定此選項, 只會 AWS SAM 載入範本及其指向的本機資源。
--terraform-plan-file
-
本機的相對或絕對路徑 Terraform 使用 時的計劃檔案 AWS SAM CLI 取代為 Terraform Cloud。 此選項需要
--hook-name
將 設定為terraform
。 --warm-containers
[EAGER | LAZY]
-
選用。指定如何 AWS SAM CLI 管理每個函數的容器。
有兩個可用選項:
EAGER
:所有函數的容器會在啟動時載入,並在叫用之間保留。LAZY
:只有在第一次叫用每個函數時,才會載入容器。這些容器會持續進行其他調用。
範例
下列範例會啟動本機伺服器,允許您透過 測試應用程式API。若要讓此命令正常運作,必須安裝應用程式,且 Docker 必須正在執行。
$
sam local start-api --port 3000