

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 build
<a name="sam-cli-command-reference-sam-build"></a>

Cette page fournit des informations de référence pour la AWS Serverless Application Model commande Command Line Interface (AWS SAMCLI)`sam build`.
+ 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 de la AWS SAMCLI `sam build` commande, consultez[Initiation à la construction avec AWS SAM](using-sam-cli-build.md).

La commande `sam build` prépare une application pour les étapes suivantes du flux de travail du développeur, telles que le test local ou le déploiement sur AWS Cloud.

## Usage
<a name="ref-sam-cli-build-usage"></a>

```
$ sam build <arguments> <options>
```

## Arguments
<a name="ref-sam-cli-build-args"></a>

**ID de ressource**  <a name="ref-sam-cli-build-args-resource-id"></a>
Facultatif. Indique AWS SAM de créer une seule ressource déclarée dans un [AWS SAM modèle](what-is-sam-overview.md#what-is-sam-template). Les artefacts de création pour la ressource spécifiée sont les seuls disponibles pour les commandes suivantes du flux de travail ; c’est-à-dire `sam package` et `sam deploy`.

## Options
<a name="ref-sam-cli-build-options"></a>

`--base-dir, -s DIRECTORY`  <a name="ref-sam-cli-build-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 si vous souhaitez 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 selon l’emplacement du modèle AWS SAM .  
Outre les ressources de l’application racine ou de la pile que vous créez, cette option applique également des applications ou des piles imbriquées.  
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`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-build-options-beta-features"></a>
Autorisez ou refusez les fonctionnalités bêta.

`--build-dir, -b DIRECTORY`  <a name="ref-sam-cli-build-options-build-dir"></a>
Le chemin d’accès à un répertoire dans lequel les artefacts créés sont stockés. Ce répertoire et tout son contenu sont supprimés avec cette option.

`--build-image TEXT`  <a name="ref-sam-cli-build-options-build-image"></a>
L’URI de l’image de conteneur que vous souhaitez extraire pour la création. Par défaut, AWS SAM extrait l’image de conteneur depuis Amazon ECR Public. Utilisez cette option pour extraire l’image à partir d’un autre emplacement.  
Vous pouvez spécifier cette option plusieurs fois. Chaque instance de cette option peut prendre une chaîne ou une paire valeur clé. Si vous spécifiez une chaîne, il s’agit de l’URI de l’image de conteneur à utiliser pour toutes les ressources de l’application. Par exemple, `sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8`. Si vous spécifiez une paire valeur clé, la clé est le nom de la ressource et la valeur est l’URI de l’image de conteneur à utiliser pour cette ressource. Par exemple `sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8`. Avec les paires valeur clé, vous pouvez spécifier différentes images de conteneur pour différentes ressources.  
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="ref-sam-cli-build-options-build-in-source"></a>
Procurez-vous `--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 :  
+ `--hook-name`
+ `--use-container `
*Par défaut* : `--no-build-in-source`

`--cached | --no-cached`  <a name="ref-sam-cli-build-options-cached"></a>
Activez ou désactivez les créations mises en cache. Utilisez cette option pour réutiliser les artefacts de build qui n'ont pas changé par rapport aux versions précédentes. AWS SAM évalue si vous avez modifié des fichiers dans le répertoire de votre projet. Par défaut, les créations ne sont pas mises en cache. Si l'`--no-cached`option est invoquée, elle remplace le `cached = true` paramètre défini dans samconfig.toml.  
AWS SAM n’évalue pas si vous avez modifié des modules tiers dont le projet dépend, si vous n’avez pas fourni de version spécifique. Par exemple, si votre fonction Python inclut un `requirements.txt` fichier contenant l'entrée `requests=1.x` et que la dernière version du module de requête passe de `1.1` à`1.2`, AWS SAM elle n'extrait pas la dernière version tant que vous n'avez pas exécuté une version non mise en cache.

`--cache-dir`  <a name="ref-sam-cli-build-options-cached-dir"></a>
Le répertoire dans lequel les artefacts mis en cache sont stockés lorsque `--cached` est spécifié. Le répertoire mis en caché par défaut est `.aws-sam/cache`.

`--config-env TEXT`  <a name="ref-sam-cli-build-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="ref-sam-cli-build-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).

`--container-env-var, -e TEXT`  <a name="ref-sam-cli-build-options-container-env-var"></a>
Variables d’environnement à transmettre au conteneur de création. Vous pouvez spécifier cette option plusieurs fois. Chaque instance de cette option prend une paire clé-valeur, où la clé est la variable de ressource et d’environnement et la valeur est la valeur de la variable d’environnement. Par exemple : `--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2`.  
Cette option ne s’applique que si l’option `--use-container` est spécifiée, dans le cas contraire, une erreur se produit.

`--container-env-var-file, -ef PATH`  <a name="ref-sam-cli-build-options-container-env-var-file"></a>
Le chemin d’accès et le nom d’un fichier JSON contenant les valeurs des variables d’environnement de conteneur. Pour plus d’informations sur les fichier des variables d’environnement de conteneur, consultez [Fichier de variables d'environnement du conteneur.](serverless-sam-cli-using-build.md#serverless-sam-cli-using-container-environment-file).  
Cette option ne s'applique que si l'option `--use-container` est spécifiée, dans le cas contraire, une erreur se produit.

`--debug`  <a name="ref-sam-cli-build-options-debug"></a>
Active la journalisation de débogage pour imprimer les messages de débogage générés par la CLI  AWS SAM et pour afficher les horodatages.

`--docker-network TEXT`  <a name="ref-sam-cli-build-options-docker-network"></a>
Spécifie le nom ou l’identifiant d’un réseau Docker existant auquel les conteneurs Docker Lambda doivent se connecter, avec le réseau de pont par défaut. Si cela n’est pas spécifié, les conteneurs Lambda se connectent uniquement au réseau Docker de pont par défaut.

`--exclude, -x`  <a name="ref-sam-cli-build-options-exclude"></a>
Le nom de la ou des ressource(s) à exclure de `sam build`. Par exemple, si votre modèle contient `Function1`, `Function2` et `Function3` et vous exécutez `sam build --exclude Function2`, uniquement `Function1` et `Function3` seront créés.

`--help`  <a name="ref-sam-cli-build-options-help"></a>
Affiche ce message, puis se ferme.

`--hook-name TEXT`  <a name="ref-sam-cli-build-options-hook-name"></a>
Nom du hook utilisé pour étendre la fonctionnalité de la CLI  AWS SAM.  
Valeurs acceptées : `terraform`.

`--manifest , -m PATH`  <a name="ref-sam-cli-build-options-manifest"></a>
Le chemin d’accès à un fichier manifeste de dépendance personnalisé (par exemple, package.json) à utiliser à la place du fichier par défaut.

`--mount-symlinks`  <a name="ref-sam-cli-build-options-mount-symlinks"></a>
Garantit le AWS SAMCLI montage permanent des liens symboliques présents dans les fichiers à créer ou à invoquer. Cela s'applique uniquement aux liens symboliques du répertoire de niveau supérieur (c'est-à-dire aux liens symboliques situés directement à la racine de la fonction). Par défaut, les liens symboliques ne sont pas montés, à l'exception de ceux nécessaires pour être utilisés `node_modules` dans `build-in-source` NodeJS.

`--no-use-container`  <a name="ref-sam-cli-build-options-no-use-container"></a>
Option qui vous permet d'utiliser le kit d'outils IDE pour définir le comportement par défaut. Vous pouvez également l'utiliser `sam build --no-use-container` pour exécuter un build sur votre machine locale au lieu d'un conteneur docker.

`--parallel`  <a name="ref-sam-cli-build-options-parallel"></a>
Active les builds parallèles. Utilisez cette option pour créer les fonctions et les couches de votre AWS SAM modèle en parallèle. Par défaut, les fonctions et les couches sont créées en séquence.

`--parameter-overrides`  <a name="ref-sam-cli-build-options-parameter-overrides"></a>
(Facultatif) Chaîne contenant des remplacements de CloudFormation paramètres codés sous forme de paires clé-valeur. Utilise le même format que le AWS Command Line Interface (AWS CLI). Par exemple : « `ParameterKey`=`KeyPairName`, `ParameterValue`=`MyKey` `ParameterKey`=`InstanceType`, `ParameterValue`=`t1.micro` ». Cette option n'est pas compatible avec `--hook-name`.

`--profile TEXT`  <a name="ref-sam-cli-build-options-profile"></a>
Le profil spécifique de votre fichier d'informations d'identification qui obtient les AWS informations d'identification.

`--region TEXT`  <a name="ref-sam-cli-build-options-region"></a>
Le Région AWS vers lequel déployer. Par exemple, us-east-1.

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

`--skip-prepare-infra`  <a name="ref-sam-cli-build-options-skip-prepare-infra"></a>
Ignore l'étape de préparation si aucune modification d'infrastructure n'a été apportée. À utiliser avec l'option `--hook-name`.

`--skip-pull-image`  <a name="ref-sam-cli-build-options-skip-pull-image"></a>
Spécifie si la commande doit ignorer la dernière image Docker pour l’exécution Lambda.

`--template-file, --template, -t PATH`  <a name="ref-sam-cli-build-options-template-file"></a>
Le chemin et le nom du fichier AWS SAM modèle`[default: template.[yaml|yml]]`. Cette option n'est pas compatible avec `--hook-name`.

`--terraform-project-root-path`  <a name="ref-sam-cli-build-options-terraform-project-root-path"></a>
Le chemin relatif ou absolu vers le répertoire de premier niveau contenant vos fichiers de configuration Terraform ou le code source de vos fonctions. Si ces fichiers se trouvent en dehors du répertoire contenant votre module racine Terraform, utilisez cette option pour spécifier son chemin absolu ou relatif. Cette option nécessite que `--hook-name` soit défini sur `terraform`.

`--use-container`, `-u`  <a name="ref-sam-cli-build-options-use-container"></a>
Si les fonctions dépendent de packages avec des dépendances compilées nativement, utilisez cette option pour créer la fonction dans un conteneur Docker de type Lambda.

## Exemple
<a name="sam-cli-command-reference-sam-build-examples"></a>

Pour un exemple détaillé et une présentation détaillée de l'utilisation de la `sam build` sous-commande, reportez-vous à. [Initiation à la construction avec AWS SAM](using-sam-cli-build.md)