

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.

# Configuration de la CLI  AWS SAM
<a name="using-sam-cli-configure"></a>

L'un des avantages AWS SAM est qu'il optimise le temps du développeur en supprimant les tâches répétitives. AWS SAMCLIinclut un fichier de configuration nommé `samconfig` à cet effet. Par défaut, aucune configuration n' AWS SAMCLIest nécessaire, mais vous pouvez mettre à jour votre fichier de configuration pour vous permettre d'exécuter des commandes avec moins de paramètres en autorisant plutôt AWS SAM à référencer vos paramètres personnalisés dans votre fichier de configuration. Les exemples présentés dans le tableau suivant montrent comment optimiser vos commandes :


| Original | Optimisé avec `samconfig` | 
| --- | --- | 
| **sam build --cached --parallel --use-containers** | **sam build** | 
| **sam local invoke --env-vars locals.json** | **sam local invoke** | 
| **sam local start-api --env-vars locals.json --warm-containers EAGER** | **sam local start-api** | 

 AWS SAMCLIFournit un ensemble de commandes pour aider les développeurs à créer, développer et déployer des applications sans serveur. Chacune de ces commandes est configurable avec des indicateurs facultatifs en fonction des préférences de l'application et du développeur. Pour plus d'informations, consultez le [AWS SAMCLIcontenu dans GitHub](https://github.com/aws/aws-sam-cli)

Les rubriques de cette section vous montrent comment créer [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md) et personnaliser ses paramètres par défaut afin d'optimiser le temps de développement de votre application sans serveur.

**Topics**
+ [Comment créer votre fichier de configuration (le `samconfig` fichier)](#using-sam-cli-configure-create)
+ [Configuration des paramètres de projet](#using-sam-cli-configure-project)
+ [Configuration des informations d'identification et des paramètres de base](#using-sam-cli-configure-basic)

## Comment créer votre fichier de configuration (le `samconfig` fichier)
<a name="using-sam-cli-configure-create"></a>

Le fichier AWS SAMCLI de configuration (nom de fichier`samconfig`) est un fichier texte qui utilise généralement la structure TOML, mais qui peut également être au format YAML. Lorsque vous utilisez un modèle de démarrage AWS rapide, ce fichier est créé lorsque vous exécutez la **sam init** commande. Vous pouvez mettre à jour ce fichier lorsque vous déployez une application à l'aide de la **sam deploy -\$1-guided** commande.

Une fois le déploiement terminé, le `samconfig` fichier contient un profil nommé `default` si vous avez utilisé les valeurs par défaut. Lorsque vous réexécutez la **deploy** commande, AWS SAM applique les paramètres de configuration enregistrés à partir de ce profil.

L'avantage du `samconfig` fichier est qu'il AWS SAM stocke les paramètres de configuration pour toutes les autres commandes disponibles en plus de la commande de déploiement. Au-delà de ces valeurs créées lors d'un nouveau déploiement, vous pouvez définir un certain nombre d'attributs dans le `samconfig` fichier afin de simplifier d'autres aspects du flux de travail des développeurs AWS SAMCLI.

## Configuration des paramètres de projet
<a name="using-sam-cli-configure-project"></a>

Vous pouvez spécifier des paramètres spécifiques au projet, tels que les valeurs des paramètres de AWS SAMCLI commande, dans un fichier de configuration à utiliser avec le. AWS SAMCLI Pour en savoir plus sur ce fichier de configuration, veuillez consulter la section [Fichier de configuration CLI AWS SAM](serverless-sam-cli-config.md).

### Utilisation des fichiers de configuration
<a name="using-sam-cli-configure-project-using"></a>

Les fichiers de configuration sont structurés par environnement, commande et valeur de paramètre. Pour de plus amples informations, veuillez consulter [Principes de base relatifs au fichier de configuration](serverless-sam-cli-config.md#serverless-sam-cli-config-basics).

**Pour configurer un nouvel environnement**

1. Spécifiez votre nouvel environnement dans votre fichier de configuration.

   Voici un exemple de spécification d'un nouvel environnement `prod` :

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
   ```

------

1. Spécifiez les valeurs des paramètres sous forme de paires clé-valeur dans la section des paramètres du fichier de configuration.

   Voici un exemple de spécification du nom de la pile de votre application pour l'environnement `prod`.

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   stack_name = "prod-app"
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
         stack_name: prod-app
   ```

------

1. Utilisez l'option `--config-env` pour spécifier l'environnement à utiliser.

   Voici un exemple :

   ```
   $ sam deploy --config-env "prod"
   ```

**Pour configurer et utiliser des valeurs de paramètres**

1. Spécifiez la commande CLI  AWS SAM pour laquelle vous souhaitez configurer les valeurs des paramètres. Pour configurer les valeurs des paramètres pour toutes les commandes de la CLI  AWS SAM, utilisez l'identificateur `global`.

   Voici un exemple de spécification des valeurs de paramètres pour la commande `sam deploy` de l'environnement `default` :

------
#### [ TOML ]

   ```
   [default.deploy.parameters]
   confirm_changeset = true
   ```

------
#### [ YAML ]

   ```
   default:
     deploy:
       parameters:
         confirm_changeset: true
   ```

------

   Voici un exemple de spécification des valeurs de paramètres pour toutes les commandes CLI  AWS SAM de l'environnement `default` :

------
#### [ TOML ]

   ```
   [default.global.parameters]
   stack_name = "sam-app"
   ```

------
#### [ YAML ]

   ```
   default:
     global:
       parameters:
         stack_name: sam-app
   ```

------

1. Vous pouvez également spécifier des valeurs de paramètres et modifier votre fichier de configuration via le flux interactif de la CLI  AWS SAM.

   Vous trouverez ci-dessous un exemple du flux interactif `sam deploy --guided` :

   ```
   $ sam deploy --guided
   
   Configuring SAM deploy
   ======================
   
       Looking for config file [samconfig.toml] :  Found
       Reading default arguments  :  Success
   
       Setting default arguments for 'sam deploy'
       =========================================
       Stack Name [sam-app]: ENTER
       AWS Region [us-west-2]: ENTER
       #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
       Confirm changes before deploy [Y/n]: n
       #SAM needs permission to be able to create roles to connect to the resources in your template
       Allow SAM CLI IAM role creation [Y/n]: ENTER
       #Preserves the state of previously provisioned resources when an operation fails
       Disable rollback [y/N]: ENTER
       HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
       Save arguments to configuration file [Y/n]: ENTER
       SAM configuration file [samconfig.toml]: ENTER
       SAM configuration environment [default]: ENTER
   ```

Pour de plus amples informations, veuillez consulter [Création et modification de fichiers de configuration](serverless-sam-cli-config.md#serverless-sam-cli-config-using).

### Exemples
<a name="using-sam-cli-configure-project-examples"></a>

#### Exemple de base TOML
<a name="using-sam-cli-configure-project-examples-toml"></a>

Voici un exemple de fichier de configuration `samconfig.toml` :

```
...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false
```

#### Exemple de base YAML
<a name="using-sam-cli-configure-project-examples-yaml"></a>

Voici un exemple de fichier de configuration `samconfig.yaml` :

```
version 0.1
default:
  global:
    parameters:
      stack_name: sam-app
  build:
    parameters:
      cached: true
      parallel: true
  deploy:
    parameters:
      capabilities: CAPABILITY_IAM
      confirm_changeset: true
      resolve_s3: true
  sync:
    parameters:
      watch: true
  local_start_api:
    parameters:
      warm_containers: EAGER
prod:
  sync:
    parameters:
      watch: false
```

## Configuration des informations d'identification et des paramètres de base
<a name="using-sam-cli-configure-basic"></a>

Utilisez le AWS Command Line Interface (AWS CLI) pour configurer les paramètres de base tels que les AWS informations d'identification, le nom de région par défaut et le format de sortie par défaut. Une fois configurés, vous pouvez utiliser ces paramètres avec la CLI  AWS SAM. Pour en savoir plus, consultez les informations suivantes dans le *Guide de l'utilisateur AWS Command Line Interface * :
+ [Principes de base de la configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Paramètres des fichiers de configuration et d'informations d'identification](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+ [Profils nommés pour AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
+ [Utilisation d'un profil nommé activé par IAM Identity Center](https://docs.aws.amazon.com/cli/latest/userguide/sso-using-profile.html)

Pour des instructions de configuration rapides, consultez [Étape 5 : utilisez le AWS CLI pour configurer les AWS informations d'identification](prerequisites.md#prerequisites-configure-credentials).