sam deploy - AWS Serverless Application Model

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

sam deploy

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

sam deploy命令將應用程序部署到 AWS 雲端 使用 AWS CloudFormation。

用量

$ <environment variables> sam deploy <options>

環境變數

SAM_CLI_POLL_DELAY

SAM_CLI_POLL_DELAY環境變數設定為秒,以設定 AWS SAM CLI 檢查 AWS CloudFormation 堆疊狀態的頻率,這在查看節流時非常有用。 AWS CloudFormation這個 env 變量用於輪詢 describe_stack API 調用,這是在運行時進行sam deploy

以下是此變數的範例:

$ SAM_CLI_POLL_DELAY=5 sam deploy

選項

--capabilities LIST

您必須指定以允許 AWS CloudFormation 建立特定堆疊的功能清單。某些堆疊範本可能包含影響您的許可的資源 AWS 帳戶,例如建立新的 AWS Identity and Access Management (IAM) 使用者。對於這些堆疊,您必須指定此選項來明確認其功能。唯一有效的值為 CAPABILITY_IAMCAPABILITY_NAMED_IAM。如果您有 IAM 資源,則可以指定任一功能。如果您擁有具有自訂名稱的 IAM 資源,則必須指定CAPABILITY_NAMED_IAM。如果未指定此選項,則作業會傳回錯InsufficientCapabilities誤。

--config-env TEXT

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

--config-file PATH

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

--confirm-changeset | --no-confirm-changeset

提示確認是否部 AWS SAMCLI署計算的變更集。

--debug

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

--disable-rollback | --no-disable-rollback

指定是否在部署期間發生錯誤時復原 AWS CloudFormation 堆疊。根據預設,如果在部署期間發生錯誤,您的 AWS CloudFormation 堆疊會回復到上一個穩定狀態。如果您指定--disable-rollback並且在部署期間發生錯誤,則在錯誤發生之前建立或更新的資源不會復原。

--fail-on-empty-changeset | --no-fail-on-empty-changeset

指定如果沒有要對堆疊進行任何變更,是否傳回非零結束代碼。默認行為是返回一個非零的退出代碼。

--force-upload

指定此選項以上傳成品,即使它們符合 Amazon S3 儲存貯體中的現有成品。相符的人工因素會被覆寫

--guided, -g

指定此選項可讓 AWS SAMCLI使用提示引導您完成部署。

--help

顯示此訊息並退出。

--image-repositories TEXT

將函數對應至其 Amazon ECR 儲存庫 URI。通過它們的邏輯 ID 引用函數。以下是範例:

$ sam deploy --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

您可以在單一指令中多次指定此選項。

--image-repository TEXT

此命令上傳函數映像的 Amazon ECR 儲存庫的名稱。使用Image封裝類型宣告的函數需要此選項。

--kms-key-id TEXT

用於加密 Amazon S3 儲存貯體中靜態成品的 AWS Key Management Service (AWS KMS) 金鑰識別碼。如果未指定此選項,則 AWS SAM 使用 Amazon S3 受管加密金鑰。

--metadata

要貼附至範本中參考之所有人工因素的詮釋資料對映。

--no-execute-changeset

指出是否套用變更集。如果您要在套用變更集之前檢視堆疊變更,請指定此選項。此命令會建立 AWS CloudFormation 變更集,然後結束而不套用變更集。若要套用變更集,請在不使用此選項的情況下執行相同的命令。

--no-progressbar

將成品上傳到 Amazon S3 時,請勿顯示進度列。

--notification-arns LIST

與堆疊 AWS CloudFormation 相關聯的亞馬遜簡單通知服務 (Amazon SNS) 主題 ARN 清單。

--on-failure [ROLLBACK | DELETE | DO_NOTHING]

指定堆疊建立失敗時要採取的動作。

以下是可用的選項:

  • ROLLBACK— 將堆疊回復至先前已知的良好狀態。

  • DELETE— 將堆疊回復至先前已知的良好狀態 (如果存在)。否則,會刪除堆疊。

  • DO_NOTHING-既不回滾也不刪除堆棧。效果與的效果相同--disable-rollback

預設行為是 ROLLBACK

注意

您可以指定--disable-rollback選項或選--on-failure項,但不能同時指定兩者。

--parameter-overrides

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

--profile TEXT

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

--region TEXT

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

--resolve-image-repos

自動建立 Amazon ECR 儲存庫,以用於封裝和部署非引導式部署。此選項僅適用於PackageType: Image指定的函數和圖層。如果您指定--guided選項,則 AWS SAMCLI忽略--resolve-image-repos

注意

如果使用此選項 AWS SAM 自動為函數或圖層建立任何 Amazon ECR 儲存庫,而您稍後從 AWS SAM 範本中刪除這些函數或圖層,則會自動刪除對應的 Amazon ECR 儲存庫。

--resolve-s3

自動建立 Amazon S3 儲存貯體,用於包裝和部署非引導式部署。如果您指定--guided選項,則 AWS SAM CLI 將忽略--resolve-s3。如果同時指定--s3-bucket--resolve-s3選項,則會發生錯誤。

--role-arn TEXT

應用變更集時 AWS CloudFormation 假設的 IAM 角色的 Amazon 資源名稱 (ARN)。

--s3-bucket TEXT

此命令會上傳 AWS CloudFormation 範本的 Amazon S3 儲存貯體的名稱。如果您的範本大於 51,200 位元組,則需要--s3-bucket選項或--resolve-s3選項。如果同時指定--s3-bucket--resolve-s3選項,則會發生錯誤。

--s3-prefix TEXT

新增至上傳至 Amazon S3 儲存貯體之成品名稱的前置詞。前置詞名稱是 Amazon S3 儲存貯體的路徑名稱 (資料夾名稱)。

--save-params

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

--signing-profiles LIST

用來簽署您的部署套件的簽署設定檔清單。此選項會取得索引鍵值配對的清單,其中索引鍵是要簽署的函數或層的名稱,而值是簽署設定檔,而選擇性的設定檔擁有者則以分隔。:例如 FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner

--stack-name TEXT

(必要) 您要部署到的 AWS CloudFormation 堆疊名稱。如果您指定既有堆疊,則指令會更新堆疊。如果您指定新堆疊,則指令會建立它。

--tags LIST

要與建立或更新之堆疊相關聯的標籤清單。 AWS CloudFormation 還將這些標籤傳播到支持它的堆棧中的資源。

--template-file, --template, -t PATH

AWS SAM 樣板所在的路徑和檔案名稱。

注意

如果您指定此選項,則只 AWS SAM 會部署範本及其指向的本機資源。

--use-json

為 AWS CloudFormation 範本輸出 JSON。預設輸出為 YAML。