

AWS App Runner steht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Referenz zur App Runner-Konfigurationsdatei
<a name="config-file-ref"></a>

**Anmerkung**  
Konfigurationsdateien gelten nur für [Dienste, die auf Quellcode basieren](service-source-code.md). Sie können Konfigurationsdateien nicht mit [imagebasierten](service-source-image.md) Diensten verwenden.

Dieses Thema ist ein umfassendes Referenzhandbuch zur Syntax und Semantik einer AWS App Runner Konfigurationsdatei. Eine Übersicht über die App Runner-Konfigurationsdateien finden Sie unter[App Runner-Dienstoptionen mithilfe einer Konfigurationsdatei einrichten](config-file.md).

Die App Runner-Konfigurationsdatei ist eine YAML-Datei. Benennen Sie sie `apprunner.yaml` und platzieren Sie sie im [Quellverzeichnis](service-source-code.md#service-source-code.source-directory) des Repositorys Ihrer Anwendung.

## Überblick über die Struktur
<a name="config-file-ref.overview"></a>

Die App Runner-Konfigurationsdatei ist eine YAML-Datei. Benennen Sie sie `apprunner.yaml` und platzieren Sie sie im [Quellverzeichnis](service-source-code.md#service-source-code.source-directory) des Repositorys Ihrer Anwendung.

Die App Runner-Konfigurationsdatei enthält die folgenden Hauptteile:
+ *Oberer Bereich* — Enthält Schlüssel der obersten Ebene
+ *Abschnitt „Build“* — Konfiguriert die Build-Phase
+ *Abschnitt „Ausführen“* — Konfiguriert die Laufzeitphase

## Oberer Abschnitt
<a name="config-file-ref.top"></a>

Die Schlüssel oben in der Datei enthalten allgemeine Informationen über die Datei und Ihre Dienstlaufzeit. Die folgenden Schlüssel sind verfügbar:
+ `version`— *Erforderlich.* Die Version der App Runner-Konfigurationsdatei. Verwenden Sie idealerweise die neueste Version.

  **Syntax**

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

  ```
  version: 1.0
  ```
+ `runtime`— *Erforderlich.* Der Name der Runtime, die Ihre Anwendung verwendet. Informationen zu den verfügbaren Laufzeiten für die verschiedenen Programmierplattformen, die App Runner anbietet, finden Sie unter[App Runner-Dienst basiert auf Quellcode](service-source-code.md).
**Anmerkung**  
 Die Benennungskonvention einer verwalteten Laufzeit lautet{{<language-name><major-version>}}. 

  **Syntax**

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

  ```
  runtime: python3
  ```

## Abschnitt erstellen
<a name="config-file-ref.build"></a>

Im Build-Abschnitt wird die Buildphase der App Runner-Dienstbereitstellung konfiguriert. Sie können Build-Befehle und Umgebungsvariablen angeben. Build-Befehle sind erforderlich.

Der Abschnitt beginnt mit dem `build:` Schlüssel und hat die folgenden Unterschlüssel:
+ `commands`— *Erforderlich.* Gibt die Befehle an, die App Runner in verschiedenen Buildphasen ausführt. Beinhaltet die folgenden Unterschlüssel:
  + `pre-build`— *Fakultativ*. Die Befehle, die App Runner vor dem Build ausführt. Installieren Sie beispielsweise **npm** Abhängigkeiten oder Testbibliotheken.
  + `build`— *Erforderlich.* Die Befehle, die App Runner ausführt, um Ihre Anwendung zu erstellen. Verwenden Sie beispielsweise**pipenv**.
  + `post-build`— *Fakultativ.* Die Befehle, die App Runner nach dem Build ausführt. Verwenden Sie Maven beispielsweise, um Build-Artefakte in eine JAR- oder WAR-Datei zu packen oder einen Test auszuführen.

  **Syntax**

  ```
  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`— *Fakultativ*. Gibt benutzerdefinierte Umgebungsvariablen für die Erstellungsphase an. Definiert als skalare Name-Wert-Zuordnungen. Sie können in Ihren Build-Befehlen namentlich auf diese Variablen verweisen.
**Anmerkung**  
In dieser Konfigurationsdatei gibt es zwei unterschiedliche `env` Einträge an zwei verschiedenen Stellen. Ein Satz befindet sich im Abschnitt **Build** und der andere im Abschnitt **Run**.   
Auf den `env` Satz im Abschnitt Build kann während des *Build-Vorgangs* mit den `pre-run` Befehlen `pre-build` `build``post-build`,, und verwiesen werden.  
***Wichtig*** — Beachten Sie, dass sich die `pre-run` Befehle im Abschnitt Ausführen dieser Datei befinden, obwohl sie nur auf die Umgebungsvariablen zugreifen können, die im Abschnitt Build definiert sind. 
Auf den `env` Satz im Abschnitt Run kann durch den `run` Befehl in der Laufzeitumgebung verwiesen werden.

  **Syntax**

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

## Abschnitt „Ausführen“
<a name="config-file-ref.run"></a>

Im Abschnitt run wird die Container-Ausführungsphase der App Runner-Anwendungsbereitstellung konfiguriert. Sie können die Laufzeitversion, Befehle vor der Ausführung (nur überarbeitetes Format), den Startbefehl, den Netzwerkport und Umgebungsvariablen angeben.

Der Abschnitt beginnt mit dem `run:` Schlüssel und hat die folgenden Unterschlüssel:
+ `runtime-version`— *Fakultativ*. Gibt eine Runtime-Version an, die Sie für Ihren App Runner-Dienst sperren möchten.

  Standardmäßig ist nur die Hauptversion gesperrt. App Runner verwendet bei jeder Bereitstellung oder jedem Service-Update die neuesten Neben- und Patch-Versionen, die für die Laufzeit verfügbar sind. Wenn Sie Haupt- und Nebenversionen angeben, werden beide gesperrt, und App Runner aktualisiert nur Patch-Versionen. Wenn Sie Haupt-, Neben- und Patch-Versionen angeben, ist Ihr Dienst auf eine bestimmte Runtime-Version beschränkt und App Runner aktualisiert sie nie.

  **Syntax**

  ```
  run:
    runtime-version: {{major[.minor[.patch]]}}
  ```
**Anmerkung**  
Die Laufzeiten einiger Plattformen haben unterschiedliche Versionskomponenten. Einzelheiten finden Sie in den spezifischen Plattformthemen.  
**Example**  

  ```
  runtime: python3
  run:
    runtime-version: 3.7
  ```
+ `pre-run`— *Fakultativ.* *** Nur [überarbeitete Build-Nutzung](service-source-code.md#service-source-code.build-detail)***. Gibt die Befehle an, die App Runner ausführt, nachdem Ihre Anwendung vom Build-Image in das Run-Image kopiert wurde. Sie können hier Befehle eingeben, um das Run-Image außerhalb des `/app` Verzeichnisses zu ändern. Wenn Sie beispielsweise zusätzliche globale Abhängigkeiten installieren müssen, die sich außerhalb des `/app` Verzeichnisses befinden, geben Sie dazu die erforderlichen Befehle in diesem Unterabschnitt ein. Weitere Informationen zum App Runner-Erstellungsprozess finden Sie unter. [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail)
**Anmerkung**  
***Wichtig*** — Obwohl die `pre-run` Befehle im Abschnitt Ausführen aufgeführt sind, können sie nur auf die Umgebungsvariablen verweisen, die im Abschnitt Build dieser Konfigurationsdatei definiert sind. Sie können nicht auf die in diesem Run-Abschnitt definierten Umgebungsvariablen verweisen.
Der `pre-run` Parameter wird nur vom überarbeiteten App Runner-Build unterstützt. Fügen Sie diesen Parameter nicht in Ihre Konfigurationsdatei ein, wenn Ihre Anwendung Runtime-Versionen verwendet, die vom ursprünglichen App Runner-Build unterstützt werden. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).

  **Syntax**

  ```
  run:
    pre-run:
        - {{command}}
        - {{…}}
  ```
+ `command`— *Erforderlich.* Der Befehl, mit dem App Runner Ihre Anwendung nach Abschluss der Anwendungsentwicklung ausführt.

  **Syntax**

  ```
  run:
    command: {{command}}
  ```
+ `network`— *Fakultativ.* Gibt den Port an, auf den Ihre Anwendung hört. Diese umfasst das Folgende:
  + `port`— *Fakultativ*. Falls angegeben, ist dies die Portnummer, die Ihre Anwendung abhört. Der Standardwert ist `8080`.
  + `env`— *Fakultativ*. Falls angegeben, übergibt App Runner die Portnummer in dieser Umgebungsvariablen an den Container und übergibt (nicht stattdessen) dieselbe Portnummer in der Standardumgebungsvariablen,`PORT`. Mit anderen Worten, wenn Sie angeben`env`, übergibt App Runner die Portnummer in zwei Umgebungsvariablen.

  **Syntax**

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

  ```
  run:
    network:
      port: 8000
      env: MY_APP_PORT
  ```
+ `env`— *Fakultativ.* Definition von benutzerdefinierten Umgebungsvariablen für die Ausführungsphase. Definiert als skalare Name-Wert-Zuordnungen. Sie können in Ihrer Laufzeitumgebung namentlich auf diese Variablen verweisen.
**Anmerkung**  
In dieser Konfigurationsdatei gibt es zwei unterschiedliche `env` Einträge an zwei verschiedenen Stellen. Ein Satz befindet sich im Abschnitt **Build** und der andere im Abschnitt **Run**.   
Auf den `env` Satz im Abschnitt Build kann während des *Build-Vorgangs* mit den `pre-run` Befehlen `pre-build` `build``post-build`,, und verwiesen werden.  
***Wichtig*** — Beachten Sie, dass sich die `pre-run` Befehle im Abschnitt Ausführen dieser Datei befinden, obwohl sie nur auf die Umgebungsvariablen zugreifen können, die im Abschnitt Build definiert sind. 
Auf den `env` Satz im Abschnitt Run kann durch den `run` Befehl in der Laufzeitumgebung verwiesen werden.

  **Syntax**

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