

AWS App Runner ya no está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cambio en la disponibilidad de AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Referencia del archivo de configuración de App Runner
<a name="config-file-ref"></a>

**nota**  
Los archivos de configuración solo se aplican a [los servicios que se basan en el código fuente](service-source-code.md). No puede usar archivos de configuración con [servicios basados en imágenes](service-source-image.md).

Este tema es una guía de referencia completa sobre la sintaxis y la semántica de un archivo de AWS App Runner configuración. Para obtener información general sobre los archivos de configuración de App Runner, consulte[Configuración de las opciones de servicio de App Runner mediante un archivo de configuración](config-file.md).

El archivo de configuración de App Runner es un archivo YAML. `apprunner.yaml`Asígnele un nombre y colóquelo en el [directorio fuente](service-source-code.md#service-source-code.source-directory) del repositorio de la aplicación.

## Descripción general de la estructura
<a name="config-file-ref.overview"></a>

El archivo de configuración de App Runner es un archivo YAML. `apprunner.yaml`Asígnele un nombre y colóquelo en el [directorio fuente](service-source-code.md#service-source-code.source-directory) del repositorio de la aplicación.

El archivo de configuración de App Runner contiene las siguientes partes principales:
+ *Sección superior*: contiene claves de nivel superior
+ *Sección de compilación*: configura la etapa de compilación
+ *Sección de ejecución*: configura la etapa de ejecución

## Sección superior
<a name="config-file-ref.top"></a>

Las teclas de la parte superior del archivo proporcionan información general sobre el archivo y el tiempo de ejecución del servicio. Están disponibles las siguientes claves:
+ `version`— *Necesario.* La versión del archivo de configuración de App Runner. Lo ideal es utilizar la última versión.

  **Sintaxis**

  ```
  version: {{version}}
  ```  
**Example**  

  ```
  version: 1.0
  ```
+ `runtime`— *Necesario.* El nombre del motor de ejecución que utiliza la aplicación. Para obtener información sobre los tiempos de ejecución disponibles para las distintas plataformas de programación que ofrece App Runner, consulte[Servicio App Runner basado en código fuente](service-source-code.md).
**nota**  
 La convención de nomenclatura de un tiempo de ejecución gestionado es{{<language-name><major-version>}}. 

  **Sintaxis**

  ```
  runtime: {{runtime-name}}
  ```  
**Example**  

  ```
  runtime: python3
  ```

## Sección de compilación
<a name="config-file-ref.build"></a>

La sección de compilación configura la etapa de compilación de la implementación del servicio App Runner. Puede especificar los comandos de compilación y las variables de entorno. Los comandos de compilación son necesarios.

La sección comienza con la `build:` clave y tiene las siguientes subclaves:
+ `commands`— *Obligatorio.* Especifica los comandos que App Runner ejecuta durante las distintas fases de creación. Incluye las siguientes subclaves:
  + `pre-build`— *Opcional*. Los comandos que App Runner ejecuta antes de la compilación. Por ejemplo, instala **npm** dependencias o prueba bibliotecas.
  + `build`— *Obligatorio.* Los comandos que App Runner ejecuta para crear la aplicación. Por ejemplo, utilice**pipenv**.
  + `post-build`— *Opcional.* Los comandos que App Runner ejecuta después de la compilación. Por ejemplo, usa Maven para empaquetar los artefactos de compilación en un archivo JAR o WAR, o ejecuta una prueba.

  **Sintaxis**

  ```
  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`— *Opcional*. Especifica las variables de entorno personalizadas para la etapa de compilación. Definido como mapeos escalares nombre-valor. Puedes hacer referencia a estas variables por su nombre en tus comandos de compilación.
**nota**  
Hay dos `env` entradas distintas en dos ubicaciones diferentes de este archivo de configuración. Un conjunto se encuentra en la sección **Construir** y el otro en la sección **Ejecutar**.   
Durante el *proceso de compilación`pre-build`, se puede hacer referencia al `env` conjunto de la sección Construir* mediante `pre-run` los comandos `build``post-build`,, y.  
***Importante***: tenga en cuenta que los `pre-run` comandos se encuentran en la sección Ejecutar de este archivo, aunque solo pueden acceder a las variables de entorno que se definen en la sección Crear. 
El `run` comando puede hacer referencia al `env` conjunto de la sección Ejecutar en el entorno de ejecución.

  **Sintaxis**

  ```
  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"
  ```

## Sección de ejecución
<a name="config-file-ref.run"></a>

La sección de ejecución configura la etapa de ejecución del contenedor de la implementación de la aplicación App Runner. Puede especificar la versión en tiempo de ejecución, los comandos previos a la ejecución (solo en el formato revisado), el comando de inicio, el puerto de red y las variables de entorno.

La sección comienza con la `run:` clave y tiene las siguientes subclaves:
+ `runtime-version`— *Opcional*. Especifica la versión en tiempo de ejecución que deseas bloquear para tu servicio App Runner.

  De forma predeterminada, solo está bloqueada la versión principal. App Runner utiliza las versiones secundarias y de parche más recientes que están disponibles para el tiempo de ejecución en cada implementación o actualización de servicio. Si especificas las versiones principales y secundarias, ambas se bloquean y App Runner solo actualiza las versiones con parches. Si especificas las versiones principales, secundarias y de parche, el servicio se bloquea en una versión de tiempo de ejecución específica y App Runner nunca la actualiza.

  **Sintaxis**

  ```
  run:
    runtime-version: {{major[.minor[.patch]]}}
  ```
**nota**  
Los tiempos de ejecución de algunas plataformas tienen componentes de versión diferentes. Consulte los temas específicos de la plataforma para obtener más información.  
**Example**  

  ```
  runtime: python3
  run:
    runtime-version: 3.7
  ```
+ `pre-run`— *Opcional.* *** Solo [se revisó el uso de la compilación](service-source-code.md#service-source-code.build-detail)***. Especifica los comandos que App Runner ejecuta después de copiar la aplicación de la imagen de compilación a la imagen de ejecución. Aquí puede introducir comandos para modificar la imagen de ejecución fuera del `/app` directorio. Por ejemplo, si necesita instalar dependencias globales adicionales que residan fuera del `/app` directorio, introduzca los comandos necesarios en esta subsección para hacerlo. Para obtener más información sobre el proceso de creación de App Runner, consulte. [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail)
**nota**  
***Importante***: aunque los `pre-run` comandos aparecen en la sección Ejecutar, solo pueden hacer referencia a las variables de entorno definidas en la sección Crear de este archivo de configuración. No pueden hacer referencia a las variables de entorno definidas en esta sección de ejecución.
El `pre-run` parámetro solo es compatible con la versión revisada de App Runner. No insertes este parámetro en el archivo de configuración si la aplicación usa versiones en tiempo de ejecución compatibles con la compilación original de App Runner. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).

  **Sintaxis**

  ```
  run:
    pre-run:
        - {{command}}
        - {{…}}
  ```
+ `command`— *Necesario.* El comando que App Runner usa para ejecutar la aplicación después de completar la compilación de la aplicación.

  **Sintaxis**

  ```
  run:
    command: {{command}}
  ```
+ `network`— *Opcional.* Especifica el puerto que escucha la aplicación. Contiene lo siguiente:
  + `port`— *Opcional*. Si se especifica, este es el número de puerto que escucha la aplicación. El valor predeterminado es `8080`.
  + `env`— *Opcional*. Si se especifica, App Runner pasa el número de puerto al contenedor en esta variable de entorno, además de (no en lugar de) pasar el mismo número de puerto en la variable de entorno predeterminada`PORT`. En otras palabras, si lo especifica`env`, App Runner pasa el número de puerto en dos variables de entorno.

  **Sintaxis**

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

  ```
  run:
    network:
      port: 8000
      env: MY_APP_PORT
  ```
+ `env`— *Opcional.* Definición de variables de entorno personalizadas para la etapa de ejecución. Definido como mapeos escalares nombre-valor. Puede hacer referencia a estas variables por su nombre en su entorno de ejecución.
**nota**  
Hay dos `env` entradas distintas en dos ubicaciones diferentes de este archivo de configuración. Un conjunto se encuentra en la sección **Construir** y el otro en la sección **Ejecutar**.   
Durante el *proceso de compilación`pre-build`, se puede hacer referencia al `env` conjunto de la sección Construir* mediante `pre-run` los comandos `build``post-build`,, y.  
***Importante***: tenga en cuenta que los `pre-run` comandos se encuentran en la sección Ejecutar de este archivo, aunque solo pueden acceder a las variables de entorno que se definen en la sección Crear. 
El `run` comando puede hacer referencia al `env` conjunto de la sección Ejecutar en el entorno de ejecución.

  **Sintaxis**

  ```
  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"
  ```