sam sync - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

sam sync

このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAMCLI) sam sync コマンドのリファレンス情報を提供します。

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

  • の使用に関するドキュメントについては、 AWS SAMCLI「」を参照してくださいAWS SAMCLI

sam sync コマンドは、ローカル アプリケーションの変更を AWS クラウドに同期します。

使用方法

$ sam sync <options>

オプション

--base-dir, -s DIRECTORY

関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダの相対パスの解決方法を変更する場合に使用します。デフォルトでは、相対パスは AWS SAM テンプレートの場所に基づいて解決されます。

このオプションは、構築しているルートアプリケーションまたはスタックのリソースに加えて、ネストされたアプリケーションまたはスタックにも適用されます。このオプションは、以下のリソースタイプとプロパティにも適用されます。

  • リソースタイプ: AWS::Serverless::Function プロパティ: CodeUri

  • リソースタイプ: AWS::Serverless::Function リソース属性: Metadata エントリ: DockerContext

  • リソースタイプ: AWS::Serverless::LayerVersion プロパティ: ContentUri

  • リソースタイプ: AWS::Lambda::Function プロパティ: Code

  • リソースタイプ: AWS::Lambda::LayerVersion プロパティ: Content

--build-image TEXT

アプリケーションの構築時に使用するコンテナイメージの URI です。デフォルトでは、 は Amazon Elastic Container Registry (Amazon ECR) Public のコンテナイメージリポジトリ URI AWS SAM を使用します。別の画像を使用するには、このオプションを指定します。

このオプションは、1 つのコマンドで複数回使用できます。各オプションには、文字列またはキーと値のペアを指定できます。

  • 文字列 – アプリケーション内のすべてのリソースに使用するコンテナイメージ URI を指定します。以下に例を示します。

    $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  • キーと値のペア — リソース名をキーとして、そのリソースで使用するコンテナイメージ URI を値として指定します。この形式を使用して、アプリケーション内のリソースごとに異なるコンテナイメージ URI を指定します。以下に例を示します。

    $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8

このオプションは、--use-container オプションが指定されている場合のみに適用され、指定されていない場合はエラーが発生します。

--build-in-source | --no-build-in-source

ソースフォルダにプロジェクトを直接構築するには --build-in-source を指定します。

--build-in-source オプションは、次のランタイムとビルドメソッドをサポートします:

  • ランタイムsam init --runtime オプションでサポートされている Node.js ランタイム。

  • ビルドメソッドMakefileesbuild

--build-in-source オプションは、次のオプションとは互換性がありません:

  • --use-container

デフォルト: --no-build-in-source

--capabilities LIST

が特定のスタックを作成 AWS CloudFormation できるように指定する機能のリスト。一部のスタックテンプレートには、 のアクセス許可に影響を与える可能性のあるリソースが含まれている場合があります AWS アカウント。例えば、新しい AWS Identity and Access Management (IAM) ユーザーを作成します。デフォルト値を上書きするには、このオプションを指定します。有効な値には次のようなものがあります。

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_RESOURCE_POLICY

  • CAPABILITY_AUTO_EXPAND

デフォルト: CAPABILITY_NAMED_IAM および CAPABILITY_AUTO_EXPAND

--code

デフォルトでは、 はアプリケーション内のすべてのリソースを AWS SAM 同期します。以下を含むコードリソースのみを同期するには、このオプションを指定します。

  • AWS::Serverless::Function

  • AWS::Lambda::Function

  • AWS::Serverless::LayerVersion

  • AWS::Lambda::LayerVersion

  • AWS::Serverless::Api

  • AWS::ApiGateway::RestApi

  • AWS::Serverless::HttpApi

  • AWS::ApiGatewayV2::Api

  • AWS::Serverless::StateMachine

  • AWS::StepFunctions::StateMachine

コードリソースを同期するために、 は を通じてデプロイするのではなく、 AWS サービス APIs を直接 AWS SAM 使用します AWS CloudFormation。 AWS CloudFormation スタックを更新するには、 sam sync --watchまたは を実行しますsam deploy

--config-env TEXT

使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。

--config-file PATH

使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。

--dependency-layer | --no-dependency-layer

同期処理を高速化するために個々の関数の依存関係を別のレイヤーに分離するかどうかを指定します。

デフォルト: --dependency-layer

--image-repository TEXT

このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの名前です。Image パッケージタイプで宣言された関数に必要です。

--image-repositories TEXT

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

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

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

--kms-key-id TEXT

Amazon S3 バケットに保管されているアーティファクトの暗号化に使用される AWS Key Management Service (AWS KMS) キーの ID。 Amazon S3 このオプションを指定しない場合、 は Amazon S3-managed暗号化キー AWS SAM を使用します。

--metadata

テンプレートで参照するすべてのアーティファクトにアタッチするメタデータのマップです。

--notification-arns LIST

スタック AWS CloudFormation に関連付ける Amazon Simple Notification Service (Amazon SNS) トピック ARNs のリスト。

--parameter-overrides

キーと値のペアとしてエンコードされた AWS CloudFormation パラメータオーバーライドを含む文字列。 AWS Command Line Interface (AWS CLI) と同じ形式を使用します。例えば ParameterKey=ParameterValue InstanceType=t1.micro です。

--resource TEXT

同期するリソースタイプを指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、--code でサポートされています。値は、--code にリストされたリソースの 1 つである必要があります。例えば --resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion です。

--resource-id TEXT

同期するリソース ID を指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、--code でサポートされています。例えば --resource-id Function1 --resource-id Function2 です。

--role-arn TEXT

変更セットを適用するときに が AWS CloudFormation 引き受ける IAM ロールの Amazon リソースネーム (ARN)。

--s3-bucket TEXT

このコマンドが AWS CloudFormation テンプレートをアップロードする Amazon Simple Storage Service (Amazon S3) バケットの名前。テンプレートが 51,200 バイトより大きい場合は、--s3-bucket または --resolve-s3 オプションは必須です。--s3-bucket--resolve-s3 の両方のオプションを指定するとエラーが発生します。

--s3-prefix TEXT

Amazon S3 バケットにアップロードするアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、Zip パッケージタイプで宣言された関数にのみ適用されます。

--save-params

コマンドラインで指定したパラメータを設定 AWS SAM ファイルに保存します。

--skip-deploy-sync | --no-skip-deploy-sync

必要がない場合は、初期インフラストラクチャ同期をスキップするように --skip-deploy-sync を指定します。 AWS SAMCLI は、ローカル AWS SAM テンプレートをデプロイされた AWS CloudFormation テンプレートと比較し、変更が検出された場合にのみデプロイを実行します。

が実行されるたびに AWS CloudFormation デプロイを実行する--no-skip-deploy-syncように指定sam syncします。

詳細については、「初期 AWS CloudFormation デプロイをスキップする」を参照してください。

デフォルト: --skip-deploy-sync

--stack-name TEXT

アプリケーションの AWS CloudFormation スタックの名前。

このオプションは必須です。

--tags LIST

作成または更新されたスタックに関連付けるタグのリスト。 は、これらのタグをサポートしているスタック内のリソース AWS CloudFormation にも伝播します。

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

AWS SAM テンプレートが配置されているパスとファイル名。

注記

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

--use-container, -u

関数がネイティブにコンパイルされた依存関係を持つパッケージに依存している場合は、このオプションを使用して AWS LambdaのようなDockerコンテナ内に関数を構築します。

注記

現在、このオプションには --dependency-layer との互換性がありません。--use-container--dependency-layer と共に使用すると AWS SAMCLI にメッセージが表示され、--no-dependency-layer で処理が続行されます。

--watch

ローカルアプリケーションの変更を監視し、 に自動的に同期するプロセスを開始します AWS クラウド。デフォルトでは、このオプションを指定すると、更新時にアプリケーション内のすべてのリソースが AWS SAM 同期されます。このオプションでは、 は初期 AWS CloudFormation デプロイ AWS SAM を実行します。次に、 AWS はサービス APIs AWS SAM を使用してコードリソースを更新します。 AWS SAM テンプレートを更新すると AWS CloudFormation 、 AWS SAM は を使用してインフラストラクチャリソースを更新します。

--watch-exclude TEXT

ファイルに変更がないかどうかを確認するための監視対象からファイルまたはフォルダを除外します。このオプションを使用するには、--watch も指定する必要があります。

このオプションは key-value ペアを受け取ります。

  • キー – アプリケーション内の Lambda 関数の論理 ID。

  • – 除外する関連付けられたファイル名またはフォルダ。

--watch-exclude オプションで指定されたファイルまたはフォルダを更新しても、 AWS SAM CLIは同期を開始しません。ただし、他のファイルまたはフォルダの更新によって同期が開始されると、これらのファイルまたはフォルダはその同期に含まれます。

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