

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.

# CodeDeploy AppSpec Dateiverweis
<a name="reference-appspec-file"></a>

Dieser Abschnitt dient nur als Referenz. Einen konzeptionellen Überblick über die AppSpec Datei finden Sie unter[CodeDeploy Anwendungsspezifikationsdateien (AppSpec)](application-specification-files.md).

Die Anwendungsspezifikationsdatei (AppSpec Datei) ist eine [YAML-formatierte](http://www.yaml.org) JSON-formatted Datei oder Datei, die CodeDeploy zur Verwaltung einer Bereitstellung verwendet wird.

**Anmerkung**  
Die AppSpec Datei für eine EC2/On-Premises Bereitstellung muss benannt werden`appspec.yml`, es sei denn, Sie führen eine lokale Bereitstellung durch. Weitere Informationen finden Sie unter [Erstellen Sie eine lokale Bereitstellung](deployments-local.md#deployments-local-deploy).

**Topics**
+ [AppSpec Dateien auf einer Amazon ECS-Rechenplattform](#appspec-reference-ecs)
+ [AppSpec Dateien auf einem AWS Lambda Plattform für die Datenverarbeitung](#appspec-reference-lambda)
+ [AppSpec Dateien auf einer EC2/on-premises Rechenplattform](#appspec-reference-server)
+ [AppSpec Struktur der Datei](reference-appspec-file-structure.md)
+ [AppSpec Beispiel für eine Datei](reference-appspec-file-example.md)
+ [AppSpec Abstand zwischen den Dateien](#reference-appspec-file-spacing)
+ [Bestätigen Sie Ihre AppSpec Datei und den Speicherort](reference-appspec-file-validate.md)

## AppSpec Dateien auf einer Amazon ECS-Rechenplattform
<a name="appspec-reference-ecs"></a>

Für Amazon ECS-Rechenplattformanwendungen wird die AppSpec Datei verwendet, um CodeDeploy Folgendes zu ermitteln: 
+  Ihre Amazon ECS-Aufgabendefinitionsdatei. Dies wird mit seinem ARN in der `TaskDefinition` Anweisung in der AppSpec Datei angegeben. 
+  Der Container und der Port in Ihrem Ersatzaufgabensatz, an den Ihr Application Load Balancer oder Network Load Balancer den Datenverkehr während einer Bereitstellung umleitet. Dies wird mit der `LoadBalancerInfo` Anweisung in der Datei angegeben. AppSpec 
+  Optionale Informationen über Ihren Amazon ECS-Service, z. B. die Plattformversion, auf der er ausgeführt wird, seine Subnetze und seine Sicherheitsgruppen. 
+  Optionale Lambda-Funktionen, die während Hooks ausgeführt werden, die Lebenszyklusereignissen während einer Amazon ECS-Bereitstellung entsprechen. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Hooks“ für eine Amazon ECS-Bereitstellung](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs). 

## AppSpec Dateien auf einem AWS Lambda Plattform für die Datenverarbeitung
<a name="appspec-reference-lambda"></a>

Für AWS Lambda-Compute-Plattformanwendungen wird die AppSpec Datei verwendet, CodeDeploy um Folgendes zu ermitteln: 
+ Welche Lambda-Funktionsversion soll bereitgestellt werden.
+ Welche Lambda-Funktionen sollen als Validierungstests verwendet werden?

Eine AppSpec Datei kann YAML-formatted oder JSON-formatted sein. Sie können den Inhalt einer AppSpec Datei auch direkt in die CodeDeploy Konsole eingeben, wenn Sie eine Einrichtung erstellen.

## AppSpec Dateien auf einer EC2/on-premises Rechenplattform
<a name="appspec-reference-server"></a>

 Wenn Ihre Anwendung die EC2/On-Premises Rechenplattform verwendet, muss es sich bei der AppSpec Datei um eine YAML-formatted Datei mit einem Namen handeln `appspec.yml` und sie muss sich im Stammverzeichnis der Verzeichnisstruktur des Quellcodes einer Anwendung befinden. Andernfalls schlagen Bereitstellungen fehl. Sie wird verwendet, um CodeDeploy Folgendes zu ermitteln:
+ Was es auf Ihren Instances aus Ihrer Anwendungsversion in Amazon S3 oder installieren sollte GitHub.
+ Welche Lebenszyklusereignis-Hooks als Reaktion auf Bereitstellungslebenszyklusereignisse ausgeführt werden sollen.

Nachdem Sie eine vollständige AppSpec Datei erstellt haben, bündeln Sie sie zusammen mit dem Inhalt, der bereitgestellt werden soll, in einer Archivdatei (zip, tar oder komprimiertes Tar). Weitere Informationen finden Sie unter [Arbeiten mit Anwendungsrevisionen für CodeDeploy](application-revisions.md).

**Anmerkung**  
Die Archivdateiformate tar und komprimiertes TAR-Archiv (.tar und .tar.gz) werden für Windows Server-Instanzen nicht unterstützt.

Nachdem Sie eine gebündelte Archivdatei (bekannt CodeDeploy als *Revision*) haben, laden Sie sie in einen Amazon S3 S3-Bucket oder ein Git-Repository hoch. Anschließend verwenden Sie CodeDeploy , um die Revision bereitzustellen. Detaillierte Anweisungen finden Sie unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md).

Die Datei appspec.yml für eine EC2/On-Premises Compute-Plattform-Bereitstellung wird im Stammverzeichnis Ihrer Revision gespeichert. Weitere Informationen erhalten Sie unter [Fügen Sie eine AppSpec Datei für eine EC2/On-Premises Bereitstellung hinzu](application-revisions-appspec-file.md#add-appspec-file-server) und [Planen Sie eine Überarbeitung für CodeDeploy](application-revisions-plan.md). 

## AppSpec Abstand zwischen den Dateien
<a name="reference-appspec-file-spacing"></a>

Im Folgenden finden Sie das richtige Format für den AppSpec Dateiabstand. Die Zahlen in eckigen Klammern geben die Anzahl der Leerzeichen an, die zwischen Elementen eingefügt werden müssen. `[4]`Bedeutet zum Beispiel, vier Leerzeichen zwischen den Elementen einzufügen. CodeDeploy löst einen Fehler aus, der möglicherweise schwer zu debuggen ist, wenn die Speicherorte und die Anzahl der Leerzeichen in einer AppSpec Datei nicht korrekt sind.

```
version:[1]{{version-number}}
os:[1]{{operating-system-name}}
files:
[2]-[1]source:[1]{{source-files-location}}
[4]destination:[1]{{destination-files-location}}
permissions:
[2]-[1]object:[1]{{object-specification}}
[4]pattern:[1]{{pattern-specification}}
[4]except:[1]{{exception-specification}}
[4]owner:[1]{{owner-account-name}}
[4]group:[1]{{group-name}}
[4]mode:[1]{{mode-specification}}
[4]acls: 
[6]-[1]{{acls-specification}} 
[4]context:
[6]user:[1]{{user-specification}}
[6]type:[1]{{type-specification}}
[6]range:[1]{{range-specification}}
[4]type:
[6]-[1]{{object-type}}
hooks:
[2]{{deployment-lifecycle-event-name}}:
[4]-[1]location:[1]{{script-location}}
[6]timeout:[1]{{timeout-in-seconds}}
[6]runas:[1]{{user-name}}
```

Hier ist ein Beispiel für eine Datei mit korrektem Abstand AppSpec :

```
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html/WordPress
hooks:
  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/change_permissions.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
    - location: scripts/create_test_db.sh
      timeout: 300
      runas: root
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root
```

Weitere Informationen über Leerzeichen finden Sie in der [YAML](http://www.yaml.org)-Spezifikation.