

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

# sam sync
<a name="sam-cli-command-reference-sam-sync"></a>

このページでは、 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) `sam sync` コマンドのリファレンス情報を提供します。
+ の概要については AWS SAM CLI、「」を参照してください。 [とは AWS SAM CLI](what-is-sam-overview.md#what-is-sam-cli)
+ の使用に関するドキュメントについては AWS SAM CLI、「」を参照してください[AWS SAM CLI](using-sam-cli.md)。

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

## 使用方法
<a name="sam-cli-command-reference-sam-sync-usage"></a>

```
$ sam sync <options>
```

## オプション
<a name="sam-cli-command-reference-sam-sync-options"></a>

`--base-dir, -s DIRECTORY`  <a name="sam-cli-command-reference-sam-sync-options-base-dir"></a>
関数またはレイヤーのソースコードへの相対パスを、このディレクトリを基準にして解決します。このオプションは、ソースコードフォルダの相対パスの解決方法を変更する場合に使用します。デフォルトでは、相対パスは 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`  <a name="sam-cli-command-reference-sam-sync-options-build-image"></a>
アプリケーションの構築時に使用する[コンテナイメージ](serverless-image-repositories.md#serverless-image-repository-uris)の URI です。デフォルトでは、 は [Amazon Elastic Container Registry (Amazon ECR) Public ](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)のコンテナイメージリポジトリ 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`  <a name="sam-cli-command-reference-sam-sync-options-build-in-source"></a>
ソースフォルダにプロジェクトを直接構築するには `--build-in-source` を指定します。  
`--build-in-source` オプションは、次のランタイムとビルドメソッドをサポートします:  
+ **ランタイム** – `sam init --runtime` オプションでサポートされている Node.js ランタイム。
+ **ビルドメソッド** – `Makefile`、`esbuild`。
`--build-in-source` オプションは、次のオプションとは互換性がありません:  
+ `--use-container `
*デフォルト*: `--no-build-in-source`

`--capabilities LIST`  <a name="sam-cli-command-reference-sam-sync-options-capabilities"></a>
が特定のスタック CloudFormation を作成できるように指定する機能のリスト。一部のスタックテンプレートには、 のアクセス許可に影響を与える可能性のあるリソースが含まれている場合があります AWS アカウント。たとえば、新しい AWS Identity and Access Management (IAM) ユーザーを作成します。デフォルト値を上書きするには、このオプションを指定します。有効な値は次のとおりです。  
+ CAPABILITY\$1IAM
+ CAPABILITY\$1NAMED\$1IAM
+ CAPABILITY\$1RESOURCE\$1POLICY
+ CAPABILITY\$1AUTO\$1EXPAND
*デフォル*ト: `CAPABILITY_NAMED_IAM` および `CAPABILITY_AUTO_EXPAND`

`--code`  <a name="sam-cli-command-reference-sam-sync-options-code"></a>
デフォルトでは、 はアプリケーション内のすべてのリソースを 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。 CloudFormation スタックを更新するには、 **sam sync --watch**または を実行します**sam deploy**。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-sync-options-config-env"></a>
使用する設定ファイル内のデフォルトパラメータ値を指定する環境名です。デフォルト値は「default」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-sync-options-config-file"></a>
使用するデフォルトのパラメータ値が含まれる設定ファイルのパスとファイル名です。デフォルト値は、プロジェクトディレクトリのルートにある「`samconfig.toml`」です。設定ファイルの詳細については、「[AWS SAM CLI 設定ファイル](serverless-sam-cli-config.md)」を参照してください。

`--dependency-layer | --no-dependency-layer`  <a name="sam-cli-command-reference-sam-sync-options-dependency-layer"></a>
同期処理を高速化するために個々の関数の依存関係を別のレイヤーに分離するかどうかを指定します。  
*デフォルト*: `--dependency-layer`

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repository"></a>
このコマンドが関数のイメージをアップロードする Amazon Elastic Container Registry (Amazon ECR) リポジトリの名前です。`Image` パッケージタイプで宣言された関数に必要です。

`--image-repositories TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repositories"></a>
関数の Amazon ECR リポジトリ URI へのマッピングです。論理 ID で関数を参照します。以下に例を示します。  

```
$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo
```
このオプションは 1 つのコマンドで複数回指定できます。

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-kms-key-id"></a>
Amazon S3 バケットに保管されているアーティファクトを暗号化するために使用される AWS Key Management Service (AWS KMS) キーの ID。 Amazon S3 このオプションを指定しない場合、 は Amazon S3-managed暗号化キー AWS SAM を使用します。

`--metadata`  <a name="sam-cli-command-reference-sam-sync-options-metadata"></a>
テンプレートで参照するすべてのアーティファクトにアタッチするメタデータのマップです。

`--notification-arns LIST`  <a name="sam-cli-command-reference-sam-sync-options-notification-arns"></a>
スタック CloudFormation に関連付ける Amazon Simple Notification Service (Amazon SNS) トピック ARNs のリスト。

`--no-use-container`  <a name="ref-sam-cli-sync-options-no-use-container"></a>
IDE ツールキットを使用してデフォルトの動作を設定できるオプション。

`--parameter-overrides`  <a name="sam-cli-command-reference-sam-sync-options-parameter-overrides"></a>
キーと値のペアとしてエンコードされた 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`  <a name="sam-cli-command-reference-sam-sync-options-resource"></a>
同期するリソースタイプを指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、`--code` でサポートされています。値は、`--code` にリストされたリソースの 1 つである必要があります。例えば、`--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion`。

`--resource-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource-id"></a>
同期するリソース ID を指定します。複数のリソースを同期する場合、このオプションを複数回指定できます。このオプションは、`--code` でサポートされています。例えば、`--resource-id Function1 --resource-id Function2`。

`--role-arn TEXT`  <a name="sam-cli-command-reference-sam-sync-options-role-arn"></a>
変更セットを適用するときに が CloudFormation 引き受ける IAM ロールの Amazon リソースネーム (ARN)。

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

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-prefix"></a>
Amazon S3 バケットにアップロードするアーティファクト名に追加されたプレフィックスです。プレフィックス名は、Amazon S3 バケットのパス名 (フォルダ名) です。これは、`Zip` パッケージタイプで宣言された関数にのみ適用されます。

`--save-params`  <a name="sam-cli-command-reference-sam-sync-options-save-params"></a>
コマンドラインで指定したパラメータを設定 AWS SAM ファイルに保存します。

`--skip-deploy-sync | --no-skip-deploy-sync`  <a name="sam-cli-command-reference-sam-sync-options-skip-deploy-sync"></a>
必要がない場合は、初期インフラストラクチャ同期をスキップするように `--skip-deploy-sync` を指定します。 AWS SAM CLI は、ローカル AWS SAM テンプレートをデプロイされた CloudFormation テンプレートと比較し、変更が検出された場合にのみデプロイを実行します。  
が実行されるたびに CloudFormation デプロイを実行する`--no-skip-deploy-sync`ように指定`sam sync`します。  
詳細については[初期 CloudFormation デプロイをスキップする](using-sam-cli-sync.md#using-sam-cli-sync-options-skip-deploy-sync)を参照してください。  
*デフォルト*: `--skip-deploy-sync`

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-sync-options-stack-name"></a>
アプリケーションの CloudFormation スタックの名前。  
このオプションは必須です。

`--tags LIST`  <a name="sam-cli-command-reference-sam-sync-options-tags"></a>
作成または更新されたスタックに関連付けるタグのリスト。 は、これらのタグをサポートしているスタック内のリソース CloudFormation にも伝播します。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-sync-options-template-file"></a>
 AWS SAM テンプレートがあるパスとファイル名。  
このオプションを指定すると、 はテンプレートとそれが指すローカルリソースのみを AWS SAM デプロイします。

`--use-container, -u`  <a name="sam-cli-command-reference-sam-sync-options-use-container"></a>
関数がネイティブにコンパイルされた依存関係を持つパッケージに依存している場合は、このオプションを使用して AWS LambdaのようなDockerコンテナ内に関数を構築します。  
現在、このオプションには `--dependency-layer` との互換性がありません。`--use-container` を `--dependency-layer` と共に使用すると AWS SAMCLI にメッセージが表示され、`--no-dependency-layer` で処理が続行されます。

`--watch`  <a name="sam-cli-command-reference-sam-sync-options-watch"></a>
ローカルアプリケーションの変更を監視し、 に自動的に同期するプロセスを開始します AWS クラウド。デフォルトでは、このオプションを指定すると、 は更新時にアプリケーション内のすべてのリソースを AWS SAM 同期します。このオプションでは、 は初期 CloudFormation デプロイ AWS SAM を実行します。次に、 は AWS サービス APIs AWS SAM を使用してコードリソースを更新します。 AWS SAM テンプレートを更新すると、 AWS SAM は CloudFormation を使用してインフラストラクチャリソースを更新します。

`--watch-exclude TEXT`  <a name="sam-cli-command-reference-sam-sync-options-watch-exclude"></a>
ファイルに変更がないかどうかを確認するための監視対象からファイルまたはフォルダを除外します。このオプションを使用するには、`--watch` も指定する必要があります。  
このオプションは key-value ペアを受け取ります。  
+ **キー** – アプリケーション内の Lambda 関数の論理 ID。
+ **値** – 除外する関連付けられたファイル名またはフォルダ。
`--watch-exclude` オプションで指定されたファイルまたはフォルダを更新すると、 AWS SAM CLIは同期を開始しません。ただし、他のファイルまたはフォルダの更新によって同期が開始されると、これらのファイルまたはフォルダはその同期に含まれます。  
このオプションは、1 つのコマンドで複数回指定できます。

## 例
<a name="sam-cli-command-reference-sam-sync-examples"></a>

このコマンドの使用例については、「[sam sync コマンドのオプション](using-sam-cli-sync.md#using-sam-cli-sync-options)」を参照してください。