翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
オプションでサポートされています。 -
ビルドメソッド –
Makefile
、esbuild
。
--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 スタックの名前。
このオプションは必須です。
-
作成または更新されたスタックに関連付けるタグのリスト。 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 コマンドのオプション」を参照してください。