翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
sam sync
このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAMCLI) sam sync コマンドのリファレンス情報を提供します。
-
の概要については AWS SAMCLI、「」を参照してください。 AWS SAMCLIとは
-
の使用に関するドキュメントについては AWS SAMCLI、「」を参照してくださいAWS SAM CLI。
sam sync コマンドは、ローカル アプリケーションの変更を AWS クラウドに同期します。
使用方法
$sam sync<options>
オプション
--base-dir, -sDIRECTORY-
関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダの相対パスの解決方法を変更する場合に使用します。デフォルトでは、相対パスは AWS SAM テンプレートの場所に関して解決されます。
このオプションは、構築しているルートアプリケーションまたはスタックのリソースに加えて、ネストされたアプリケーションまたはスタックにも適用されます。このオプションは、以下のリソースタイプとプロパティにも適用されます。
-
リソースタイプ:
AWS::Serverless::Functionプロパティ:CodeUri -
リソースタイプ:
AWS::Serverless::Functionリソース属性:Metadataエントリ:DockerContext -
リソースタイプ:
AWS::Serverless::LayerVersionプロパティ:ContentUri -
リソースタイプ:
AWS::Lambda::Functionプロパティ:Code -
リソースタイプ:
AWS::Lambda::LayerVersionプロパティ:Content
-
--build-imageTEXT-
アプリケーションの構築時に使用するコンテナイメージの URI です。デフォルトでは、 は Amazon Elastic Container Registry (Amazon ECR) Public のコンテナイメージリポジトリ URI AWS SAM を使用します。別の画像を使用するには、このオプションを指定します。
このオプションは、1 つのコマンドで複数回使用できます。各オプションには、文字列またはキーと値のペアを指定できます。
-
文字列 – アプリケーション内のすべてのリソースに使用するコンテナイメージ URI を指定します。以下に例を示します。
$sam sync --build-imageamazon/aws-sam-cli-build-image-python3.8 -
キーと値のペア — リソース名をキーとして、そのリソースで使用するコンテナイメージ URI を値として指定します。この形式を使用して、アプリケーション内のリソースごとに異なるコンテナイメージ URI を指定します。以下に例を示します。
$sam sync --build-imageFunction1=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 ランタイム。 -
ビルドメソッド –
Makefile、esbuild。
--build-in-sourceオプションは、次のオプションとは互換性がありません:-
--use-container
デフォルト:
--no-build-in-source -
--capabilitiesLIST-
が特定のスタック 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-envTEXT-
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。
--config-filePATH-
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「
samconfig.toml」です。設定ファイルの詳細については、「AWS SAM CLI 設定ファイル」を参照してください。 --dependency-layer | --no-dependency-layer-
同期処理を高速化するために個々の関数の依存関係を別のレイヤーに分離するかどうかを指定します。
デフォルト:
--dependency-layer --image-repositoryTEXT-
このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの名前です。
Imageパッケージタイプで宣言された関数に必要です。 --image-repositoriesTEXT-
関数の Amazon ECR リポジトリ URI へのマッピングです。論理 ID で関数を参照します。以下に例を示します。
$sam sync --image-repositoriesFunction1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repoこのオプションは 1 つのコマンドで複数回指定できます。
--kms-key-idTEXT-
Amazon S3 バケットに保管されているアーティファクトを暗号化するために使用される AWS Key Management Service (AWS KMS) キーの ID。 Amazon S3 このオプションを指定しない場合、 は Amazon S3-managed暗号化キー AWS SAM を使用します。
--metadata-
テンプレートで参照するすべてのアーティファクトにアタッチするメタデータのマップです。
--notification-arnsLIST-
がスタック AWS CloudFormation に関連付ける Amazon Simple Notification Service (Amazon SNS) トピック ARNs のリスト。
--no-use-container-
IDE ツールキットを使用してデフォルトの動作を設定できるオプション。
--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
--resourceTEXT-
同期するリソースタイプを指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、
--codeでサポートされています。値は、--codeにリストされたリソースの 1 つである必要があります。例えば、--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersionと指定します。 --resource-idTEXT-
同期するリソース ID を指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、
--codeでサポートされています。例えば、--resource-id Function1 --resource-id Function2と指定します。 --role-arnTEXT-
変更セットを適用するときに が AWS CloudFormation 引き受ける IAM ロールの Amazon リソースネーム (ARN)。
--s3-bucketTEXT-
このコマンドが AWS CloudFormation テンプレートをアップロードする Amazon Simple Storage Service (Amazon S3) バケットの名前。テンプレートが 51,200 バイトより大きい場合は、
--s3-bucketまたは--resolve-s3オプションは必須です。--s3-bucketと--resolve-s3の両方のオプションを指定するとエラーが発生します。 --s3-prefixTEXT-
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-nameTEXT-
アプリケーションの AWS CloudFormation スタックの名前。
このオプションは必須です。
-
作成または更新されたスタックに関連付けるタグのリスト。 は、これらのタグをサポートするスタック内のリソース AWS CloudFormation にも伝播します。
--template-file, --template, -tPATH-
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 SAM は AWS CloudFormation を使用してインフラストラクチャリソースを更新します。
--watch-excludeTEXT-
ファイルに変更がないかどうかを確認するための監視対象からファイルまたはフォルダを除外します。このオプションを使用するには、
--watchも指定する必要があります。このオプションは key-value ペアを受け取ります。
-
キー – アプリケーション内の Lambda 関数の論理 ID。
-
値 – 除外する関連付けられたファイル名またはフォルダ。
--watch-excludeオプションで指定されたファイルまたはフォルダを更新すると、 AWS SAM CLIは同期を開始しません。ただし、他のファイルまたはフォルダの更新によって同期が開始されると、これらのファイルまたはフォルダはその同期に含まれます。このオプションは、1 つのコマンドで複数回指定できます。
-
例
このコマンドの使用例については、「sam sync コマンドのオプション」を参照してください。