

AWS App Runner não está mais aberto a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Mudança de disponibilidade do AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Referência do arquivo de configuração do App Runner
<a name="config-file-ref"></a>

**nota**  
Os arquivos de configuração são aplicáveis somente aos [serviços baseados no código-fonte](service-source-code.md). Você não pode usar arquivos de configuração com serviços [baseados em imagem](service-source-image.md).

Este tópico é um guia de referência abrangente sobre a sintaxe e a semântica de um arquivo de AWS App Runner configuração. Para obter uma visão geral dos arquivos de configuração do App Runner, consulte[Definindo as opções do serviço App Runner usando um arquivo de configuração](config-file.md).

O arquivo de configuração do App Runner é um arquivo YAML. Dê um `apprunner.yaml` nome e coloque-o no [diretório de origem](service-source-code.md#service-source-code.source-directory) do repositório do seu aplicativo.

## Visão geral da estrutura
<a name="config-file-ref.overview"></a>

O arquivo de configuração do App Runner é um arquivo YAML. Dê um `apprunner.yaml` nome e coloque-o no [diretório de origem](service-source-code.md#service-source-code.source-directory) do repositório do seu aplicativo.

O arquivo de configuração do App Runner contém as seguintes partes principais:
+ *Seção superior* — Contém teclas de nível superior
+ *Seção de construção* — configura o estágio de construção
+ *Seção Executar* — Configura o estágio de execução

## Seção superior
<a name="config-file-ref.top"></a>

As chaves na parte superior do arquivo fornecem informações gerais sobre o arquivo e o tempo de execução do serviço. As seguintes chaves estão disponíveis:
+ `version`— *Obrigatório.* A versão do arquivo de configuração do App Runner. O ideal é usar a versão mais recente.

  **Sintaxe**

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

  ```
  version: 1.0
  ```
+ `runtime`— *Obrigatório.* O nome do tempo de execução que seu aplicativo usa. Para saber mais sobre os tempos de execução disponíveis para as diferentes plataformas de programação que o App Runner oferece, consulte. [Serviço App Runner baseado no código-fonte](service-source-code.md)
**nota**  
 A convenção de nomenclatura de um tempo de execução gerenciado é{{<language-name><major-version>}}. 

  **Sintaxe**

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

  ```
  runtime: python3
  ```

## Seção de construção
<a name="config-file-ref.build"></a>

A seção de compilação configura o estágio de construção da implantação do serviço App Runner. Você pode especificar comandos de construção e variáveis de ambiente. Os comandos de compilação são obrigatórios.

A seção começa com a `build:` chave e tem as seguintes subchaves:
+ `commands`— *Obrigatório.* Especifica os comandos que o App Runner executa durante várias fases de compilação. Inclui as seguintes subchaves:
  + `pre-build`— *Opcional.* Os comandos que o App Runner executa antes da compilação. Por exemplo, instale **npm** dependências ou teste bibliotecas.
  + `build`— *Obrigatório.* Os comandos que o App Runner executa para criar seu aplicativo. Por exemplo, use**pipenv**.
  + `post-build`— *Opcional.* Os comandos que o App Runner executa após a compilação. Por exemplo, use o Maven para empacotar artefatos de construção em um arquivo JAR ou WAR ou executar um teste.

  **Sintaxe**

  ```
  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 variáveis de ambiente personalizadas para o estágio de construção. Definido como mapeamentos escalares de nome-valor. Você pode se referir a essas variáveis pelo nome nos seus comandos de compilação.
**nota**  
Há duas `env` entradas distintas em dois locais diferentes nesse arquivo de configuração. Um conjunto está na seção **Construir** e o outro na seção **Executar**.   
O `env` conjunto na seção Build pode ser referenciado pelos `pre-run` comandos`pre-build`,, `build``post-build`, e durante o *processo de compilação*.  
***Importante***: observe que os `pre-run` comandos estão localizados na seção Executar desse arquivo, embora possam acessar somente as variáveis de ambiente definidas na seção Construir. 
O `env` conjunto na seção Executar pode ser referenciado pelo `run` comando no ambiente de execução.

  **Sintaxe**

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

## Seção de execução
<a name="config-file-ref.run"></a>

A seção de execução configura o estágio de execução do contêiner da implantação do aplicativo App Runner. Você pode especificar a versão do tempo de execução, os comandos de pré-execução (somente no formato revisado), o comando de início, a porta de rede e as variáveis de ambiente.

A seção começa com a `run:` chave e tem as seguintes subchaves:
+ `runtime-version`— *Opcional.* Especifica uma versão de tempo de execução que você deseja bloquear para o serviço App Runner.

  Por padrão, somente a versão principal está bloqueada. O App Runner usa as versões secundárias e de patch mais recentes que estão disponíveis para o tempo de execução em cada implantação ou atualização de serviço. Se você especificar versões principais e secundárias, ambas ficarão bloqueadas e o App Runner atualizará somente as versões de patch. Se você especificar versões principais, secundárias e de patch, seu serviço será bloqueado em uma versão de tempo de execução específica e o App Runner nunca a atualizará.

  **Sintaxe**

  ```
  run:
    runtime-version: {{major[.minor[.patch]]}}
  ```
**nota**  
Os tempos de execução de algumas plataformas têm componentes de versão diferentes. Consulte os tópicos específicos da plataforma para obter detalhes.  
**Example**  

  ```
  runtime: python3
  run:
    runtime-version: 3.7
  ```
+ `pre-run`— *Opcional.* *** Somente para uso [revisado da compilação](service-source-code.md#service-source-code.build-detail)***. Especifica os comandos que o App Runner executa após copiar seu aplicativo da imagem de compilação para a imagem de execução. Você pode inserir comandos aqui para modificar a imagem de execução fora do `/app` diretório. Por exemplo, se você precisar instalar dependências globais adicionais que residem fora do `/app` diretório, insira os comandos necessários nesta subseção para fazer isso. Para obter mais informações sobre o processo de criação do App Runner, consulte[Versões de tempo de execução gerenciadas e a compilação do App Runner](service-source-code.md#service-source-code.build-detail).
**nota**  
***Importante*** — Embora os `pre-run` comandos estejam listados na seção Executar, eles só podem referenciar as variáveis de ambiente definidas na seção Construir desse arquivo de configuração. Eles não podem referenciar as variáveis de ambiente definidas nesta seção Executar.
O `pre-run` parâmetro só é compatível com a versão revisada do App Runner. Não insira esse parâmetro no arquivo de configuração se o aplicativo usar versões de tempo de execução compatíveis com a compilação original do App Runner. Para obter mais informações, consulte [Versões de tempo de execução gerenciadas e a compilação do App Runner](service-source-code.md#service-source-code.build-detail).

  **Sintaxe**

  ```
  run:
    pre-run:
        - {{command}}
        - {{…}}
  ```
+ `command`— *Obrigatório.* O comando que o App Runner usa para executar seu aplicativo depois de concluir a criação do aplicativo.

  **Sintaxe**

  ```
  run:
    command: {{command}}
  ```
+ `network`— *Opcional.* Especifica a porta que seu aplicativo escuta. A tabela inclui os seguintes campos:
  + `port`— *Opcional.* Se especificado, esse é o número da porta que seu aplicativo escuta. O padrão é `8080`.
  + `env`— *Opcional.* Se especificado, o App Runner passa o número da porta para o contêiner nessa variável de ambiente, além de (não em vez de) passar o mesmo número de porta na variável de ambiente padrão,`PORT`. Em outras palavras, se você especificar`env`, o App Runner passará o número da porta em duas variáveis de ambiente.

  **Sintaxe**

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

  ```
  run:
    network:
      port: 8000
      env: MY_APP_PORT
  ```
+ `env`— *Opcional.* Definição de variáveis de ambiente personalizadas para o estágio de execução. Definido como mapeamentos escalares de nome-valor. Você pode se referir a essas variáveis pelo nome em seu ambiente de tempo de execução.
**nota**  
Há duas `env` entradas distintas em dois locais diferentes nesse arquivo de configuração. Um conjunto está na seção **Construir** e o outro na seção **Executar**.   
O `env` conjunto na seção Build pode ser referenciado pelos `pre-run` comandos`pre-build`,, `build``post-build`, e durante o *processo de compilação*.  
***Importante***: observe que os `pre-run` comandos estão localizados na seção Executar desse arquivo, embora possam acessar somente as variáveis de ambiente definidas na seção Construir. 
O `env` conjunto na seção Executar pode ser referenciado pelo `run` comando no ambiente de execução.

  **Sintaxe**

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