

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à.

# Hook della piattaforma
<a name="platforms-linux-extend.hooks"></a>

Gli hook di piattaforma sono specificamente progettati per estendere la piattaforma del tuo ambiente. Si tratta di script personalizzati o di file eseguibili che vengono distribuiti come parte del codice sorgente dell'applicazione e che Elastic Beanstalk esegue durante varie fasi di provisioning delle istanze.

**Nota**  
Gli hook della piattaforma non sono supportati sulle versioni della piattaforma AMI Amazon Linux (precedenti ad Amazon Linux 2).

## Hook della piattaforma di distribuzione delle applicazioni
<a name="platforms-linux-extend.hooks.appdeploy"></a>

Una *distribuzione dell'applicazione* si verifica quando si fornisce un nuovo bundle di origine per la distribuzione o quando si apportano modifiche alla configurazione che richiedono la terminazione e la nuova creazione di tutte le istanze dell'ambiente.

Per fornire hook di piattaforma eseguiti durante la distribuzione di un'applicazione, posizionare i file nella directory `.platform/hooks` del bundle di origine, in una delle seguenti sottodirectory.
+ `prebuild`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk scarica ed estrae il bundle di origine dell'applicazione e prima che configuri l'applicazione e il server Web.

  I file `prebuild` vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione [comandi](customize-containers-ec2.md#linux-commands) di qualsiasi file di configurazione e prima di eseguire i comandi `Buildfile`.
+ `predeploy`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk ha impostato e configurato l'applicazione e il server Web e prima che li distribuisca nel percorso di runtime finale.

  I file `predeploy` vengono eseguiti dopo l'esecuzione di comandi trovati nella sezione [container\_commands](customize-containers-ec2.md#linux-container-commands) di qualsiasi file di configurazione e prima di eseguire i comandi `Procfile`.
+ `postdeploy`: i file vengono eseguiti dopo che il motore della piattaforma Elastic Beanstalk distribuisce l'applicazione e il server proxy.

  Questo è l'ultimo passaggio del flusso di lavoro di distribuzione.

## Hook della piattaforma di distribuzione della configurazione
<a name="platforms-linux-extend.hooks.configdeploy"></a>

Una *distribuzione di configurazione* si verifica quando si apportano modifiche alla configurazione che aggiornano solo le istanze dell'ambiente senza ricrearle. I seguenti aggiornamenti delle opzioni causano un aggiornamento della configurazione.
+ [Proprietà dell'ambiente e impostazioni specifiche della piattaforma](environments-cfg-softwaresettings.md)
+ [File statici](environment-cfg-staticfiles.md)
+ [AWS X-Ray demone](environment-configuration-debugging.md)
+ [Storage e streaming dei log](environments-cfg-logging.md)
+ Porta dell'applicazione (per i dettagli vedere) [Configurazione del proxy inverso](platforms-linux-extend.proxy.md)

Per fornire hook che vengono eseguiti durante una distribuzione di configurazione, posizionarli nella directory `.platform/confighooks` nel bundle di origine. Si applicano le stesse tre sottodirectory degli hook di distribuzione delle applicazioni.

## Ulteriori informazioni sugli hook della piattaforma
<a name="platforms-linux-extend.hooks.more"></a>

I file hook possono essere file binari o file di script che iniziano con una riga `#!` contenente il percorso dell'interprete, ad esempio `#!/bin/bash`. Tutti i file devono disporre del permesso di esecuzione. Utilizzare `chmod +x` per impostare l'autorizzazione di esecuzione sui file hook. Per tutte le versioni della piattaforma basate su Amazon Linux 2023 e Amazon Linux 2 rilasciate a partire dal 29 aprile 2022, Elastic Beanstalk concede automaticamente le autorizzazioni di esecuzione a tutti gli script di hook della piattaforma. In questo caso non è necessario concedere manualmente le autorizzazioni di esecuzione. Per un elenco di queste versioni della piattaforma, fai riferimento alle note di rilascio di Linux del [29 aprile 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-04-29-linux.html#release-2022-04-29-linux.platforms) nella guida *Note di rilascio di AWS Elastic Beanstalk *.

Elastic Beanstalk esegue i file in ciascuna di queste directory in ordine lessicografico dei nomi dei file. Tutti i file vengono eseguiti come utente `root`. La directory di lavoro corrente (cwd) per gli hook della piattaforma è la directory principale dell'applicazione. Per i file `prebuild` e `predeploy` è la directory di staging dell'applicazione e per i file `postdeploy` è la directory dell'applicazione corrente. Se uno dei file non ha esito positivo (esce con un codice di uscita diverso da zero), la distribuzione si interrompe e fallisce.

Uno script di testo degli hook di una piattaforma può fallire se contiene caratteri di interruzione di riga *Carriage Return/ Line Feed* (CRLF) di Windows. Se un file è stato salvato in un host Windows e poi trasferito su un server Linux, può contenere interruzioni di riga CRLF di Windows. Per le piattaforme rilasciate a partire dal [29 dicembre 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-29-linux.html) Elastic Beanstalk converte automaticamente i caratteri CRLF di Windows in caratteri di interruzione di riga *Line Feed* (LF) di Linux nei file di testo degli hook della piattaforma. Se l'applicazione viene eseguita su qualsiasi piattaforma Amazon Linux 2 rilasciata prima di questa data, dovrai convertire i caratteri CRLF di Windows in caratteri LF di Linux. Un modo per farlo è creare e salvare il file di script su un host Linux. Gli strumenti che convertono questi caratteri sono disponibili anche su Internet.

I file hook hanno accesso a tutte le proprietà di ambiente definite nelle opzioni dell'applicazione e alle variabili di ambiente di sistema `HOME`, `PATH` e `PORT`. 

Per ottenere valori di variabili di ambiente e altre opzioni di configurazione negli script di hook della piattaforma puoi utilizzare la utility `get-config` fornita da Elastic Beanstalk sulle istanze di ambiente. Per informazioni dettagliate, vedi [Strumenti di script di piattaforma per i tuoi ambienti Elastic Beanstalk](custom-platforms-scripts.md).