

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Cette page fournit des informations de référence pour la AWS Serverless Application Model commande Command Line Interface (AWS SAMCLI)`sam sync`.
+ Pour une introduction à la AWS SAMCLI, voir [Qu'est-ce que c'est AWS SAMCLI ?](what-is-sam-overview.md#what-is-sam-cli)
+ Pour obtenir de la documentation sur l'utilisation du AWS SAMCLI, voir[AWS SAM CLI](using-sam-cli.md).

La commande `sam sync` synchronise les modifications apportées de l’application locale à AWS Cloud.

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

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

## 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>
Résout les chemins relatifs au code source de la fonction ou de la couche par rapport à ce répertoire. Utilisez cette option pour modifier la façon dont les chemins d'accès relatifs aux dossiers de code source sont résolus. Par défaut, les chemins relatifs sont résolus en fonction de l'emplacement du AWS SAM modèle.  
Outre les ressources de l'application ou de la pile racine que vous créez, cette option s'applique également aux applications ou piles imbriquées. En outre, cette option s'applique aux types de ressources et propriétés suivants :  
+ Type de ressource : propriété `AWS::Serverless::Function` : `CodeUri`
+ Type de ressource : attribut de ressource `AWS::Serverless::Function` : entrée `Metadata` : `DockerContext`
+ Type de ressource : propriété `AWS::Serverless::LayerVersion` : `ContentUri`
+ Type de ressource : propriété `AWS::Lambda::Function` : `Code`
+ Type de ressource : propriété `AWS::Lambda::LayerVersion` : `Content`

`--build-image TEXT`  <a name="sam-cli-command-reference-sam-sync-options-build-image"></a>
L'URI de l'[image de conteneur](serverless-image-repositories.md#serverless-image-repository-uris) que vous souhaitez utiliser lors de la création de votre application. AWS SAM Utilise par défaut l'URI du référentiel d'images de conteneurs provenant d'[Amazon Elastic Container Registry (Amazon ECR) Public](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html). Spécifiez cette option pour utiliser une autre image.  
Vous pouvez utiliser cette option plusieurs fois au sein d'une même commande. Chaque option accepte une chaîne de caractères ou une paire clé-valeur.  
+ **Chaîne de caractères** : si vous spécifiez une chaîne de caractères, il s'agit de l'URI de l'image de conteneur qui sera utilisée par toutes les ressources de l'application. En voici un exemple :

  ```
  $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  ```
+ **Paire clé-valeur** : spécifiez le nom de la ressource comme clé et l'URI de l'image du conteneur à utiliser avec cette ressource comme valeur. Utilisez ce format pour spécifier un URI d'image de conteneur différent pour chaque ressource de votre application. Voici un exemple :

  ```
  $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8
  ```
Cette option ne s’applique que si l’option `--use-container` est spécifiée, dans le cas contraire, une erreur se produit.

`--build-in-source | --no-build-in-source`  <a name="sam-cli-command-reference-sam-sync-options-build-in-source"></a>
Fournit `--build-in-source` pour créer votre projet directement dans le dossier source.  
L'option `--build-in-source` prend en charge les systèmes d’exécution ainsi que les méthodes de création suivantes :  
+ **exécutions** : toute méthode d’exécution Node.js prise en charge par l'option `sam init --runtime`.
+ **Méthodes de construction** : `Makefile`, `esbuild`.
L'option `--build-in-source` n'est pas compatible avec celles suivantes :  
+ `--use-container `
*Par défaut* : `--no-build-in-source`

`--capabilities LIST`  <a name="sam-cli-command-reference-sam-sync-options-capabilities"></a>
Liste des fonctionnalités que vous spécifiez pour CloudFormation autoriser la création de certaines piles. Certains modèles de pile peuvent inclure des ressources susceptibles d'affecter les autorisations de votre Compte AWS. Par exemple, en créant de nouveaux utilisateurs Gestion des identités et des accès AWS (IAM). Spécifiez cette option pour remplacer les valeurs par défaut. Les valeurs valides sont les suivantes :  
+ CAPABILITY\$1IAM
+ CAPABILITY\$1NAMED\$1IAM
+ CAPABILITY\$1RESOURCE\$1POLICY
+ CAPABILITY\$1AUTO\$1EXPAND
*Par défaut* : `CAPABILITY_NAMED_IAM` et `CAPABILITY_AUTO_EXPAND`

`--code`  <a name="sam-cli-command-reference-sam-sync-options-code"></a>
Par défaut, AWS SAM synchronise toutes les ressources de votre application. Spécifiez cette option pour synchroniser uniquement les ressources de code, qui comprennent les éléments suivants :  
+ `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`
Pour synchroniser les ressources de code, AWS SAM utilise APIs directement le AWS service, au lieu de le déployer via AWS CloudFormation. Pour mettre à jour votre CloudFormation stack, exécutez **sam sync --watch** ou**sam deploy**.

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-sync-options-config-env"></a>
Le nom d’environnement spécifiant les valeurs de paramètre par défaut dans le fichier de configuration à utiliser. La valeur par défaut est « par défaut ». Pour plus d'informations sur les fichiers de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

`--config-file PATH`  <a name="sam-cli-command-reference-sam-sync-options-config-file"></a>
Le chemin d’accès et le nom du fichier de configuration contenant les valeurs de paramètres par défaut à utiliser. La valeur par défaut est « `samconfig.toml` » dans la racine du répertoire du projet. Pour plus d’informations sur les fichiers de configuration, consultez [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

`--dependency-layer | --no-dependency-layer`  <a name="sam-cli-command-reference-sam-sync-options-dependency-layer"></a>
Spécifie s'il faut séparer les dépendances des fonctions individuelles dans une autre couche pour accélérer le processus de synchronisation.  
*Par défaut* : `--dependency-layer`

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repository"></a>
Le nom du référentiel Amazon Elastic Container Registry (Amazon ECR) vers lequel cette commande télécharge l’image de la fonction. Requis pour les fonctions déclarées avec le type de package `Image`.

`--image-repositories TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repositories"></a>
Un mappage des fonctions vers l'URI de leur référentiel Amazon ECR. Référencez les fonctions par leur identifiant logique. Voici un exemple :  

```
$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo
```
Vous pouvez spécifier cette option plusieurs fois au sein d'une même commande.

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-kms-key-id"></a>
L'ID d'une clé AWS Key Management Service (AWS KMS) utilisée pour chiffrer les artefacts inactifs dans le compartiment Amazon S3. Si vous ne spécifiez pas cette option, AWS SAM utilise les clés de chiffrement gérées par Amazon S3.

`--metadata`  <a name="sam-cli-command-reference-sam-sync-options-metadata"></a>
Un mappage de métadonnées à attacher à tous les artefacts que vous référencez dans votre modèle.

`--notification-arns LIST`  <a name="sam-cli-command-reference-sam-sync-options-notification-arns"></a>
Liste des rubriques Amazon Simple Notification Service (Amazon SNS) ARNs associées à la CloudFormation pile.

`--no-use-container`  <a name="ref-sam-cli-sync-options-no-use-container"></a>
Option qui vous permet d'utiliser le kit d'outils IDE pour définir le comportement par défaut.

`--parameter-overrides`  <a name="sam-cli-command-reference-sam-sync-options-parameter-overrides"></a>
Chaîne contenant des remplacements de CloudFormation paramètres codés sous forme de paires clé-valeur. Utilisez le même format que le AWS Command Line Interface (AWS CLI). Le AWS SAMCLI format est basé sur des mots clés et valeurs explicites, chaque remplacement étant séparé par un espace. Voici deux exemples :  
+ `--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>
Spécifie le type de ressource à synchroniser. Pour synchroniser plusieurs ressources, vous pouvez spécifier cette option plusieurs fois. Cette option est prise en charge avec l'option `--code`. La valeur doit correspondre à l'une des ressources répertoriées sous `--code`. Par exemple, `--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion`.

`--resource-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource-id"></a>
Spécifie l’identifiant de la ressource à synchroniser. Pour synchroniser plusieurs ressources, vous pouvez spécifier cette option plusieurs fois. Cette option est prise en charge avec l'option `--code`. Par exemple, `--resource-id Function1 --resource-id Function2`.

`--role-arn TEXT`  <a name="sam-cli-command-reference-sam-sync-options-role-arn"></a>
Nom de ressource Amazon (ARN) d'un rôle IAM CloudFormation assumé lors de l'application de l'ensemble de modifications.

`--s3-bucket TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-bucket"></a>
Nom du compartiment Amazon Simple Storage Service (Amazon S3) dans lequel cette commande télécharge CloudFormation votre modèle. Si le modèle est supérieur à 51 200 octets, le `--s3-bucket` ou l’option `--resolve-s3` sont obligatoires. Si vous spécifiez les deux options `--s3-bucket` et `--resolve-s3`, une erreur se produit.

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-prefix"></a>
Le préfixe ajouté aux noms des artefacts que vous chargez dans le compartiment Amazon S3. Le nom du préfixe est un nom de chemin d’accès (nom de dossier) pour le compartiment Amazon S3. Cela s'applique uniquement aux fonctions déclarées avec le type de package `Zip`.

`--save-params`  <a name="sam-cli-command-reference-sam-sync-options-save-params"></a>
Enregistre les paramètres que vous fournissez sur la ligne de commande dans le fichier AWS SAM de configuration.

`--skip-deploy-sync | --no-skip-deploy-sync`  <a name="sam-cli-command-reference-sam-sync-options-skip-deploy-sync"></a>
Spécifie `--skip-deploy-sync` pour ignorer la synchronisation initiale de l'infrastructure si elle n'est pas requise. Le AWS SAMCLI comparera votre AWS SAM modèle local avec le CloudFormation modèle déployé et n'effectuera un déploiement que si une modification est détectée.  
Spécifie `--no-skip-deploy-sync` d'effectuer un CloudFormation déploiement à `sam sync` chaque exécution.  
Pour en savoir plus, veuillez consulter la section [Ignorer le CloudFormation déploiement initial](using-sam-cli-sync.md#using-sam-cli-sync-options-skip-deploy-sync).  
*Par défaut* : `--skip-deploy-sync`

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-sync-options-stack-name"></a>
Le nom de la CloudFormation pile de votre application.  
Cette option est obligatoire.

`--tags LIST`  <a name="sam-cli-command-reference-sam-sync-options-tags"></a>
Liste de balises à associer à la pile créée ou mise à jour. CloudFormation propage également ces balises aux ressources de la pile qui les supportent.

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-sync-options-template-file"></a>
Le chemin et le nom du fichier où se trouve votre AWS SAM modèle.  
Si vous spécifiez cette option, AWS SAM déploie uniquement le modèle et les ressources locales vers lesquels il pointe.

`--use-container, -u`  <a name="sam-cli-command-reference-sam-sync-options-use-container"></a>
Si vos fonctions dépendent de packages dont les dépendances sont compilées de manière native, utilisez cette option pour créer votre fonction dans un Docker conteneur AWS Lambda similaire.  
Actuellement, cette option n'est pas compatible avec `--dependency-layer`. Si vous utilisez `--use-container` avec `--dependency-layer`, la CLI  AWS SAM vous en informe et continue avec `--no-dependency-layer`.

`--watch`  <a name="sam-cli-command-reference-sam-sync-options-watch"></a>
Lance un processus qui surveille les modifications apportées par votre application locale et les synchronise automatiquement avec le AWS Cloud. Par défaut, lorsque vous spécifiez cette option, toutes les ressources de votre application sont AWS SAM synchronisées au fur et à mesure que vous les mettez à jour. Avec cette option, AWS SAM effectue un CloudFormation déploiement initial. AWS SAM Utilise ensuite le AWS service APIs pour mettre à jour les ressources du code. AWS SAM utilise CloudFormation pour mettre à jour les ressources de l'infrastructure lorsque vous mettez à jour votre AWS SAM modèle.

`--watch-exclude TEXT`  <a name="sam-cli-command-reference-sam-sync-options-watch-exclude"></a>
Empêche un fichier ou un dossier d’être observé en cas de modification de fichier. Pour utiliser cette option, `--watch` doit également être fournie.  
Cette option reçoit une paire clé-valeur :  
+ **clé** : ID logique d'une fonction Lambda dans votre application.
+ **valeur** : nom du fichier ou du dossier associé à exclure.
Lorsque vous mettez à jour des fichiers ou des dossiers spécifiés avec l'`--watch-exclude`option, aucune synchronisation ne AWS SAM CLI sera lancée. Toutefois, lorsqu'une mise à jour d'autres fichiers ou dossiers initie une synchronisation, ceux-ci ou sont inclus dans cette synchronisation.  
Vous pouvez fournir cette option plusieurs fois dans une seule commande.

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

Pour des exemples d'utilisation de cette commande, reportez-vous à[Options pour la commande sam sync](using-sam-cli-sync.md#using-sam-cli-sync-options).