

AWS App Runner ne sera plus ouvert aux nouveaux clients à compter du 30 avril 2026. Si vous souhaitez utiliser App Runner, inscrivez-vous avant cette date. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS App Runner la section Modification de la disponibilité](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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.

# Référence du fichier de configuration App Runner
<a name="config-file-ref"></a>

**Note**  
Les fichiers de configuration s'appliquent uniquement [aux services basés sur le code source](service-source-code.md). Vous ne pouvez pas utiliser de fichiers de configuration avec des [services basés sur des images](service-source-image.md).

Cette rubrique est un guide de référence complet sur la syntaxe et la sémantique d'un fichier de AWS App Runner configuration. Pour un aperçu des fichiers de configuration d'App Runner, consultez[Configuration des options du service App Runner à l'aide d'un fichier de configuration](config-file.md).

Le fichier de configuration d'App Runner est un fichier YAML. Nommez-le `apprunner.yaml` et placez-le dans le [répertoire source](service-source-code.md#service-source-code.source-directory) du référentiel de votre application.

## Aperçu de la structure
<a name="config-file-ref.overview"></a>

Le fichier de configuration d'App Runner est un fichier YAML. Nommez-le `apprunner.yaml` et placez-le dans le [répertoire source](service-source-code.md#service-source-code.source-directory) du référentiel de votre application.

Le fichier de configuration d'App Runner contient les éléments principaux suivants :
+ *Section supérieure* — Contient les clés de niveau supérieur
+ *Section de construction* — Configure la phase de construction
+ *Section Exécuter* — Configure la phase d'exécution

## Section supérieure
<a name="config-file-ref.top"></a>

Les clés situées en haut du fichier fournissent des informations générales sur le fichier et l'exécution de votre service. Les touches disponibles sont les suivantes :
+ `version`— *Obligatoire.* Version du fichier de configuration d'App Runner. Dans l'idéal, utilisez la dernière version.

  **Syntaxe**

  ```
  version: version
  ```  
**Example**  

  ```
  version: 1.0
  ```
+ `runtime`— *Obligatoire.* Nom du moteur d'exécution utilisé par votre application. Pour en savoir plus sur les temps d'exécution disponibles pour les différentes plateformes de programmation proposées par App Runner, consultez[Service App Runner basé sur le code source](service-source-code.md).
**Note**  
 La convention de dénomination d'un environnement d'exécution géré est*<language-name><major-version>*. 

  **Syntaxe**

  ```
  runtime: runtime-name
  ```  
**Example**  

  ```
  runtime: python3
  ```

## Section de construction
<a name="config-file-ref.build"></a>

La section build configure la phase de compilation du déploiement du service App Runner. Vous pouvez spécifier des commandes de construction et des variables d'environnement. Les commandes de construction sont obligatoires.

La section commence par la `build:` clé et comporte les sous-clés suivantes :
+ `commands`— *Obligatoire.* Spécifie les commandes exécutées par App Runner au cours des différentes phases de construction. Inclut les sous-clés suivantes :
  + `pre-build`— *Facultatif.* Les commandes exécutées par App Runner avant la compilation. Par exemple, installez des **npm** dépendances ou testez des bibliothèques.
  + `build`— *Obligatoire.* Les commandes qu'App Runner exécute pour créer votre application. Par exemple, utilisez**pipenv**.
  + `post-build`— *Facultatif.* Les commandes exécutées par App Runner après la compilation. Par exemple, utilisez Maven pour empaqueter des artefacts de construction dans un fichier JAR ou WAR, ou pour exécuter un test.

  **Syntaxe**

  ```
  build:
    commands:
      pre-build:
        - command
        - …
      build:
        - command
        - …
      post-build:
        - command
        - …
  ```  
**Example**  

  ```
  build:
    commands:
      pre-build:
        - yum install openssl
      build:
        - pip install -r requirements.txt
      post-build:
        - python manage.py test
  ```
+ `env`— *Facultatif.* Spécifie des variables d'environnement personnalisées pour la phase de construction. Défini comme des mappages scalaires nom-valeur. Vous pouvez faire référence à ces variables par leur nom dans vos commandes de compilation.
**Note**  
Il existe deux `env` entrées distinctes situées à deux emplacements différents dans ce fichier de configuration. Un ensemble se trouve dans la section **Build** et l'autre dans la section **Run**.   
L'`env`ensemble de la section Build peut être référencé par les `pre-run` commandes `pre-build` `build``post-build`,, et pendant le *processus de génération*.  
***Important*** - Notez que les `pre-run` commandes se trouvent dans la section Exécuter de ce fichier, même si elles ne peuvent accéder qu'aux variables d'environnement définies dans la section Build. 
L'`env`ensemble défini dans la section Exécuter peut être référencé par la `run` commande dans l'environnement d'exécution.

  **Syntaxe**

  ```
  build:
    env:
      - name: name1
        value: value1
      - name: name2
        value: value2
      - …
  ```  
**Example**  

  ```
  build:
    env:
      - name: DJANGO_SETTINGS_MODULE
        value: "django_apprunner.settings"
      - name: MY_VAR_EXAMPLE
        value: "example"
  ```

## Exécuter la section
<a name="config-file-ref.run"></a>

La section d'exécution configure la phase d'exécution du conteneur dans le cadre du déploiement de l'application App Runner. Vous pouvez spécifier la version d'exécution, les commandes de pré-exécution (format révisé uniquement), la commande de démarrage, le port réseau et les variables d'environnement.

La section commence par la `run:` clé et comporte les sous-clés suivantes :
+ `runtime-version`— *Facultatif.* Spécifie la version d'exécution que vous souhaitez verrouiller pour votre service App Runner.

  Par défaut, seule la version majeure est verrouillée. App Runner utilise les dernières versions mineures et correctifs disponibles pour l'exécution lors de chaque déploiement ou mise à jour de service. Si vous spécifiez des versions majeures et mineures, les deux sont verrouillées et App Runner ne met à jour que les versions de correctif. Si vous spécifiez des versions majeures, mineures et patchs, votre service est verrouillé sur une version d'exécution spécifique et App Runner ne la met jamais à jour.

  **Syntaxe**

  ```
  run:
    runtime-version: major[.minor[.patch]]
  ```
**Note**  
Les environnements d'exécution de certaines plateformes ont des composants de version différents. Consultez les rubriques spécifiques à la plateforme pour plus de détails.  
**Example**  

  ```
  runtime: python3
  run:
    runtime-version: 3.7
  ```
+ `pre-run`— *Facultatif.* *** Utilisation de la [version révisée](service-source-code.md#service-source-code.build-detail) uniquement***. Spécifie les commandes qu'App Runner exécute après avoir copié votre application de l'image de compilation vers l'image d'exécution. Vous pouvez entrer des commandes ici pour modifier l'image exécutée en dehors du `/app` répertoire. Par exemple, si vous devez installer des dépendances globales supplémentaires résidant en dehors du `/app` répertoire, entrez les commandes requises dans cette sous-section pour ce faire. Pour plus d'informations sur le processus de création d'App Runner, consultez[Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).
**Note**  
***Important*** — Même si les `pre-run` commandes sont répertoriées dans la section Exécuter, elles ne peuvent faire référence qu'aux variables d'environnement définies dans la section Build de ce fichier de configuration. Ils ne peuvent pas faire référence aux variables d'environnement définies dans cette section Exécuter.
Le `pre-run` paramètre n'est pris en charge que par la version révisée d'App Runner. N'insérez pas ce paramètre dans votre fichier de configuration si votre application utilise des versions d'exécution prises en charge par la version originale d'App Runner. Pour de plus amples informations, veuillez consulter [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).

  **Syntaxe**

  ```
  run:
    pre-run:
        - command
        - …
  ```
+ `command`— *Obligatoire.* Commande utilisée par App Runner pour exécuter votre application une fois la création de l'application terminée.

  **Syntaxe**

  ```
  run:
    command: command
  ```
+ `network`— *Facultatif.* Spécifie le port que votre application écoute. Elle comprend les éléments suivants :
  + `port`— *Facultatif.* S'il est spécifié, il s'agit du numéro de port que votre application écoute. La valeur par défaut est `8080`.
  + `env`— *Facultatif.* Si cela est spécifié, App Runner transmet le numéro de port au conteneur dans cette variable d'environnement, en plus de transmettre (et non à la place) le même numéro de port dans la variable d'environnement par défaut,`PORT`. En d'autres termes, si vous le spécifiez`env`, App Runner transmet le numéro de port dans deux variables d'environnement.

  **Syntaxe**

  ```
  run:
    network:
      port: port-number
      env: env-variable-name
  ```  
**Example**  

  ```
  run:
    network:
      port: 8000
      env: MY_APP_PORT
  ```
+ `env`— *Facultatif.* Définition de variables d'environnement personnalisées pour la phase d'exécution. Défini comme des mappages scalaires nom-valeur. Vous pouvez faire référence à ces variables par leur nom dans votre environnement d'exécution.
**Note**  
Il existe deux `env` entrées distinctes situées à deux emplacements différents dans ce fichier de configuration. Un ensemble se trouve dans la section **Build** et l'autre dans la section **Run**.   
L'`env`ensemble de la section Build peut être référencé par les `pre-run` commandes `pre-build` `build``post-build`,, et pendant le *processus de génération*.  
***Important*** - Notez que les `pre-run` commandes se trouvent dans la section Exécuter de ce fichier, même si elles ne peuvent accéder qu'aux variables d'environnement définies dans la section Build. 
L'`env`ensemble défini dans la section Exécuter peut être référencé par la `run` commande dans l'environnement d'exécution.

  **Syntaxe**

  ```
  run:
    env:
      - name: name1
        value: value1
      - name: name2
        value: value2   
    secrets:
      - name: name1
        value-from: arn:aws:secretsmanager:region:aws_account_id:secret:secret-id
      - name: name2
        value-from: arn:aws:ssm:region:aws_account_id:parameter/parameter-name
      - …
  ```  
**Example**  

  ```
  run:
    env:
      - name: MY_VAR_EXAMPLE
        value: "example"
    secrets:
      - name: my-secret
        value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
      - name: my-parameter
        value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
      - name: my-parameter-only-name
        value-from: "parameter-name"
  ```