本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
sam deploy
此頁面提供 AWS Serverless Application Model 命令列介面的參考資訊 (AWS SAM CLI) sam deploy
命令。
-
如需 的簡介 AWS SAM CLI,請參閱 什麼是 AWS SAM CLI?
-
有關使用 的文件 AWS SAM CLI
sam deploy
命令,請參閱 使用 部署簡介 AWS SAM。
sam deploy
命令 AWS 雲端 會使用 將應用程式部署到 AWS CloudFormation。
用量
$
<environment variables>
sam deploy
<options>
環境變數
SAM_CLI_POLL_DELAY
-
將
SAM_CLI_POLL_DELAY
環境變數設定為 Shell 中的秒值,以設定 AWS SAMCLI檢查 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_IAM
和CAPABILITY_NAMED_IAM
。如果您有IAM資源,則可以指定任一功能。如果您有具有自訂名稱IAM的資源,則必須指定CAPABILITY_NAMED_IAM
。如果您未指定此選項,則操作會傳回InsufficientCapabilities
錯誤。部署包含巢狀應用程式的應用程式時,您必須使用
CAPABILITY_AUTO_EXPAND
確認應用程式包含下一個應用程式。如需詳細資訊,請參閱部署巢狀應用。 --config-env
TEXT
-
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為
default
。如需關於組態檔案的詳細資訊,請參閱 AWS SAM CLI 組態檔案。 --config-file
PATH
-
包含要使用之預設參數值的組態檔案的路徑和檔案名稱。預設值位於專案目錄的根
samconfig.toml
目錄。如需關於組態檔案的詳細資訊,請參閱 AWS SAM CLI 組態檔案。 --confirm-changeset | --no-confirm-changeset
-
提示確認 是否 AWS SAM CLI 部署計算的變更集。
--debug
-
開啟偵錯記錄,以列印 AWS SAM CLI 會產生 和 以顯示時間戳記。
--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 SAM CLI 使用提示來引導您完成部署。
--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) 金鑰 ID。如果您未指定此選項,則 AWS SAM 會使用 Amazon S3-managed加密金鑰。
--metadata
-
中繼資料映射,以連接至範本中參考的所有成品。
--no-execute-changeset
-
指示是否套用變更集。如果您想要在套用變更集之前檢視堆疊變更,請指定此選項。此命令會 AWS CloudFormation 建立變更集,然後結束而不套用變更集。若要套用變更集,請執行相同的命令,而不使用此選項。
--no-progressbar
-
將成品上傳至 Amazon S3 時,請勿顯示進度列。
--notification-arns
LIST
-
與堆疊ARNs AWS CloudFormation 相關聯的 Amazon Simple Notification Service (Amazon SNS) 主題清單。
--on-failure [ROLLBACK | DELETE | DO_NOTHING]
-
指定堆疊無法建立時要採取的動作。
以下是可用的選項:
-
ROLLBACK
– 將堆疊復原至先前的已知良好狀態。 -
DELETE
– 如果存在堆疊,則將堆疊復原至先前的已知良好狀態。否則, 會刪除堆疊。 -
DO_NOTHING
– 既不會復原,也不會刪除堆疊。效果與 相同--disable-rollback
。
預設行為是
ROLLBACK
。注意
您可以指定
--disable-rollback
選項或--on-failure
選項,但不能同時指定兩者。 -
--parameter-overrides
LIST
-
包含 AWS CloudFormation 參數覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。的 AWS SAM CLI 格式是明確索引鍵和值關鍵字,每個覆寫都會以空格分隔。以下是兩個範例:
$
sam deploy --parameter-overrides
ParameterKey=value1,ParameterValue=value2
$
sam deploy --parameter-overrides
ParameterKey=value1,ParameterValue=value2 ParameterKey=hello,ParameterValue=world ParameterKey=apple,ParameterValue=banana
--profile
TEXT
-
取得 AWS 憑證之憑證檔案的特定設定檔。
--region
TEXT
-
AWS 區域 要部署到的 。例如 us-east-1。
--resolve-image-repos
-
自動建立 Amazon ECR儲存庫,用於包裝和部署非引導式部署。此選項僅適用於具有
PackageType: Image
指定 的函數和圖層。如果您指定--guided
選項,則 AWS SAM CLI 會忽略--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 Resource Name (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 堆疊名稱。如果您指定現有堆疊,則命令會更新堆疊。如果您指定新的堆疊,則命令會建立它。
-
要與建立或更新的堆疊建立關聯的標籤清單。 AWS CloudFormation 也會將這些標籤傳播到堆疊中支援該標籤的資源。
--template-file, --template, -t
PATH
-
範本 AWS SAM 所在的路徑和檔案名稱。
注意
如果您指定此選項,則只會 AWS SAM 部署範本及其指向的本機資源。
--use-json
-
AWS CloudFormation 範本JSON的輸出。預設輸出為 YAML。
範例
如需使用sam deploy
子命令的詳細範例和深入演練,請參閱 使用 部署簡介 AWS SAM。