sam sync - AWS Serverless Application Model

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

sam sync

このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) sam sync コマンド。

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

  • の使用に関するドキュメントについては、 AWS SAM CLI「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 オプションは、次のランタイムとビルドメソッドをサポートします:

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

  • ビルドメソッド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-managed暗号化キー AWS SAM を使用します。

--metadata

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

--notification-arns LIST

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

--parameter-overrides

キーと値のペアとしてエンコードされた AWS CloudFormation パラメータを含む文字列。() と同じ形式を使用します AWS Command Line Interface AWS CLI。の AWS SAM CLI 形式は明示的なキーと値のキーワードで、各オーバーライドはスペースで区切られます。ここでは、以下の 2 つの例を示します。

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--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 SAM CLI は、ローカル AWS SAM テンプレートをデプロイされた AWS CloudFormation テンプレートと比較し、変更が検出された場合にのみデプロイを実行します。

sam sync が実行されるたびに AWS CloudFormation デプロイを実行する--no-skip-deploy-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 SAM CLI はユーザーに通知し、 を続行します--no-dependency-layer

--watch

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

--watch-exclude TEXT

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

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

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

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

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

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

このコマンドの使用例については、「sam sync コマンドのオプション」を参照してください。