sam deploy - AWS Serverless Application Model

sam deploy

AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) sam deploy コマンドのオプションです。

  • AWS SAM CLI の概要については、「AWS SAMCLI とは?」を参照してください。

  • AWS SAM CLI sam deploy コマンドの使用に関するドキュメントについては、「sam deploy を使用する」を参照してください。

使用方法

$ sam deploy <options>

環境変数

環境変数 説明
SAM_CLI_POLL_DELAY

DescribeStack API コール間の遅延を秒単位で指定します。

次に例を示します。

$ SAM_CLI_POLL_DELAY=5 sam deploy

オプション

オプション 説明
-g, --guided

このオプションを指定して、デプロイ全体で AWS SAM CLI によるプロンプトを用いたガイドを有効にします。

-t, --template-file, --template PATH AWS SAM テンプレートが置かれているパスとファイルの名前です。

注意: このオプションを指定すると、AWS SAM は、テンプレートと、それがポイントするローカルリソースのみをデプロイします。

--stack-name TEXT (必須) デプロイ先の AWS CloudFormation スタックの名前です。既存のスタックを指定すると、コマンドはスタックを更新します。新しいスタックを指定すると、コマンドはスタックを作成します。
--s3-bucket TEXT このコマンドが AWS CloudFormation テンプレートをアップロードする Amazon S3 バケットの名前です。テンプレートが 51,200 バイトより大きい場合は、--s3-bucket オプションまたは --resolve-s3 オプションは必須です。--s3-bucket--resolve-s3 の両方のオプションを指定するとエラーが発生します。
--s3-prefix TEXT Amazon S3 バケットにアップロードされるアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。
--image-repository TEXT このコマンドが関数のイメージをアップロードする Amazon ECR リポジトリの名前です。このオプションは、Image パッケージタイプで宣言された関数に必要です。
--image-repositories TEXT

関数の Amazon ECR リポジトリ URI へのマッピングです。論理 ID で関数を参照します。次に例を示します。

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

このオプションは 1 つのコマンドで複数回指定できます。

--signing-profiles LIST デプロイパッケージに署名するための署名プロファイルのリストです。このオプションはキーバリューペアのリストを使用します。このペアのキーは署名する関数またはレイヤーの名前、値は署名プロファイルで、オプションのプロファイル所有者は : で区切られます。例えば、FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner です。
--capabilities LIST AWS CloudFormation が特定のスタックを作成できるように指定する必要がある機能のリストです。一部のスタックテンプレートには、新しい AWS Identity and Access Management (IAM) ユーザーを作成することなどによって AWS アカウントのアクセス許可に影響するリソースが含まれている場合があります。このようなスタックについては、このパラメータを指定することによって、それらの機能を明示的に承認する必要があります。有効な値は、CAPABILITY_IAMCAPABILITY_NAMED_IAM のみです。IAM リソースがある場合、どちらの機能でも指定できます。カスタム名を持つ IAM リソースがある場合は、CAPABILITY_NAMED_IAM を指定する必要があります。このオプションを指定しない場合は、オペレーションが InsufficientCapabilities エラーを返します。
--region TEXT デプロイ先の AWS リージョン です。例えば、us-east-1 などです。
--profile TEXT AWS 認証情報を取得する、認証情報ファイルから特定のプロファイルです。
--kms-key-id TEXT Amazon S3 バケットに保管されているアーティファクトの暗号化に使用される AWS Key Management Service (AWS KMS) キーの ID です。このオプションを指定しない場合、AWS SAM は Amazon S3 マネージド暗号化キーを使用します。
--force-upload このオプションを指定して、アーティファクトが Amazon S3 バケット内の既存のアーティファクトと一致する場合でも、それらをアップロードします。一致するアーティファクトは上書きされます。
--no-execute-changeset 変更セットを適用するかどうかを示します。このオプションは、変更セットを適用する前にスタックの変更を表示したい場合に指定します。このコマンドは、AWS CloudFormation 変更セットを作成してから、その変更セットを適用せずに終了します。変更セットを適用するには、このオプションを指定せずに同じコマンドを実行します。
--role-arn TEXT 変更セットの適用時に AWS CloudFormation が引き受ける IAM ロールの Amazon リソースネーム (ARN) です。
--fail-on-empty-changeset | --no-fail-on-empty-changeset スタックに対して行う変更がない場合に 0 以外の終了コードを返すかどうかを指定します。デフォルトの動作では、ゼロ以外の終了コードが返されます。
--confirm-changeset | --no-confirm-changeset AWS SAM CLI が計算された変更セットをデプロイするかどうかの確認を求めます。
--use-json AWS CloudFormation テンプレートの JSON を出力します。デフォルトの出力は YAML です。
--resolve-s3 ガイドなしデプロイのパッケージ化とデプロイに使用する Amazon S3 バケットを自動的に作成します。--guided オプションを指定すると、AWS SAM CLI は --resolve-s3 を無視します。--s3-bucket--resolve-s3 の両方のオプションを指定するとエラーが発生します。
--resolve-image-repos ガイドなしデプロイのパッケージ化およびデプロイに使用する Amazon ECR リポジトリを自動的に作成します。このオプションは、PackageType: Image が指定された関数とレイヤーにのみ適用されます。--guided オプションを指定すると、AWS SAM CLI は --resolve-image-repos を無視します。注意: このオプションで関数またはレイヤーの Amazon ECR リポジトリが AWS SAM によって自動的に作成された後、これらの関数またはレイヤーを AWS SAM テンプレートから削除すると、対応する Amazon ECR リポジトリが自動的に削除されます。
--metadata テンプレートで参照されるすべてのアーティファクトにアタッチするメタデータのマップです。
--notification-arns LIST AWS CloudFormation がスタックに関連付ける Amazon Simple Notification Service (Amazon SNS) トピック ARN のリストです。
--tags LIST 作成または更新されたスタックに関連付けるタグのリストです。AWS CloudFormation は、このリストをサポートするスタック内のリソースにもこれらのタグを伝播します。
--parameter-overrides キーバリューペアとしてエンコードされた AWS CloudFormation パラメータオーバーライドが含まれる文字列です。AWS Command Line Interface (AWS CLI) と同じ形式を使用します。例えば、ParameterKey=ParameterValue InstanceType=t1.micro です。
--disable-rollback | --no-disable-rollback デプロイ中にエラーが発生した場合、AWS CloudFormation スタックをロールバックするかどうかを指定します。デフォルトでは、デプロイ中にエラーが発生した場合、AWS CloudFormation スタックは最後の安定状態にロールバックします。--disable-rollback を指定した状態でデプロイ中にエラーが発生した場合、エラーが発生する前に作成または更新されたリソースはロールバックされません。
--on-failure [ROLLBACK | DELETE | DO_NOTHING]

スタックの作成が失敗されたときに実行するアクションを指定します。

以下のオプションが利用できます。

  • ROLLBACK — スタックを以前の既知の正常な状態にロールバックします。

  • DELETE — 以前の既知の正常な状態が存在する場合、スタックを以前の既知の状態にロールバックします。以前の既知の正常な状態が存在しない場合は、スタックを削除します。

  • DO_NOTHING — スタックのロールバックおよび削除を行いません。この結果は --disable-rollback の結果と同じです。

デフォルトの動作は ROLLBACK です。

注意: --disable-rollback オプションまたは --on-failure オプションを指定できますが、両方を指定することはできません。

--config-file PATH 使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある samconfig.toml です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-env TEXT 使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は、「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--no-progressbar Amazon S3 へのアーティファクトのアップロード時に、進行状況バーを表示しません。
--debug デバッグロギングを有効にして、AWS SAM CLI が生成するデバッグメッセージを出力表示し、タイムスタンプを表示します。
--help このメッセージを表示して終了します。