

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Questa sezione è solo per riferimento. Per una panoramica concettuale del AppSpec file, vedere[CodeDeploy file delle specifiche dell'applicazione (AppSpec)](application-specification-files.md).

Il file delle specifiche dell'applicazione (AppSpec file) è un file in formato [YAML](http://www.yaml.org) o JSON utilizzato da per gestire una distribuzione. CodeDeploy 

**Nota**  
Il AppSpec file per una distribuzione EC2/on-premise deve avere un nome, a meno che non si stia eseguendo una distribuzione locale. `appspec.yml` Per ulteriori informazioni, consulta [Crea una distribuzione locale](deployments-local.md#deployments-local-deploy).

**Topics**
+ [AppSpec file su una piattaforma di elaborazione Amazon ECS](#appspec-reference-ecs)
+ [AppSpec file su una piattaforma di elaborazione AWS Lambda](#appspec-reference-lambda)
+ [AppSpec file su una piattaforma di elaborazione EC2/on-premise](#appspec-reference-server)
+ [AppSpec Struttura dei file](reference-appspec-file-structure.md)
+ [AppSpec Esempio di file](reference-appspec-file-example.md)
+ [AppSpec Spaziatura tra i file](#reference-appspec-file-spacing)
+ [Convalida il AppSpec file e la posizione del file](reference-appspec-file-validate.md)

## AppSpec file su una piattaforma di elaborazione Amazon ECS
<a name="appspec-reference-ecs"></a>

Per le applicazioni della piattaforma di calcolo Amazon ECS, il AppSpec file viene utilizzato CodeDeploy per determinare: 
+  Il tuo file di definizione delle attività di Amazon ECS. Questo è specificato con il relativo ARN nelle `TaskDefinition` istruzioni del file. AppSpec 
+  Il contenitore e la porta del set di attività sostitutivo in cui l'Application Load Balancer o il Network Load Balancer reindirizzano il traffico durante una distribuzione. Questo viene specificato con le istruzioni contenute nel file. `LoadBalancerInfo` AppSpec 
+  Informazioni opzionali sul tuo servizio Amazon ECS, come la versione della piattaforma su cui viene eseguito, le sue sottoreti e i suoi gruppi di sicurezza. 
+  Funzioni Lambda opzionali da eseguire durante gli hook che corrispondono agli eventi del ciclo di vita durante una distribuzione Amazon ECS. Per ulteriori informazioni, consulta [AppSpec sezione 'hook' per una distribuzione Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs). 

## AppSpec file su una piattaforma di elaborazione AWS Lambda
<a name="appspec-reference-lambda"></a>

Per le applicazioni della piattaforma di calcolo AWS Lambda, il AppSpec file viene utilizzato per CodeDeploy determinare: 
+ Quale versione della funzione Lambda distribuire.
+ Quali funzioni Lambda utilizzare come test di convalida.

Un AppSpec file può essere in formato YAML o in formato JSON. Puoi anche inserire il contenuto di un AppSpec file direttamente nella console quando crei una distribuzione. CodeDeploy 

## AppSpec file su una piattaforma di elaborazione EC2/on-premise
<a name="appspec-reference-server"></a>

 Se l'applicazione utilizza la piattaforma di calcolo EC2/on-premise, il AppSpec file deve essere un file in formato YAML denominato `appspec.yml` e deve essere inserito nella radice della struttura di directory del codice sorgente di un'applicazione. In alternativa, le distribuzioni non riescono. CodeDeploy Viene utilizzato per determinare:
+ Cosa deve installare sulle istanze dalla revisione dell'applicazione in Amazon S3 o. GitHub
+ Quali hook di eventi del ciclo di vita eseguire in risposta agli eventi del ciclo di vita della distribuzione.

Una volta completato, AppSpec il file viene raggruppato, insieme al contenuto da distribuire, in un file di archivio (zip, tar o tar compresso). Per ulteriori informazioni, consulta [Utilizzo delle revisioni delle applicazioni per CodeDeploy](application-revisions.md).

**Nota**  
I formati di file di archivio tar e tar compressi (.tar e .tar.gz) non sono supportati per le istanze di Windows Server.

Dopo aver creato un file di archivio in bundle (noto CodeDeploy come *revisione*), lo carichi in un bucket Amazon S3 o in un repository Git. Quindi lo usi per distribuire la revisione CodeDeploy . Per istruzioni, consulta [Crea una distribuzione con CodeDeploy](deployments-create.md).

L'appspec.yml per una distribuzione della piattaforma di calcolo EC2/on-premise viene salvato nella directory principale della revisione. Per ulteriori informazioni, consultare [Aggiungi un AppSpec file per una distribuzione EC2/on-premise](application-revisions-appspec-file.md#add-appspec-file-server) e [Pianifica una revisione per CodeDeploy](application-revisions-plan.md). 

## AppSpec Spaziatura tra i file
<a name="reference-appspec-file-spacing"></a>

Di seguito è riportato il formato corretto per la spaziatura tra i AppSpec file. I numeri tra parentesi quadre indicano il numero di spazi che devono essere presenti tra gli elementi. Ad esempio, `[4]` significa inserire quattro spazi tra gli elementi. CodeDeploy genera un errore di cui potrebbe essere difficile eseguire il debug se le posizioni e il numero di spazi in un AppSpec file non sono corretti.

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

Ecco un esempio di file con AppSpec spaziatura corretta:

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

Per ulteriori informazioni sulla spaziatura, consulta la specifica [YAML](http://www.yaml.org).