

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

# Fase 3: Creare un'estensione personalizzata AWS AppConfig
<a name="working-with-appconfig-extensions-creating-custom-extensions"></a>



Un'estensione definisce una o più azioni che esegue durante un AWS AppConfig flusso di lavoro. Ad esempio, l'`AWS AppConfig deployment events to Amazon SNS`estensione AWS creata include un'azione per inviare una notifica a un argomento di Amazon SNS. Ogni azione viene richiamata quando interagisci con AWS AppConfig o quando AWS AppConfig esegui un processo per tuo conto. Questi sono chiamati *punti d'azione*. AWS AppConfig le estensioni supportano i seguenti punti di azione:

**punti d'azione PRE\_\***: le azioni di estensione configurate sui punti di `PRE_*` azione vengono applicate dopo la convalida della richiesta, ma prima dell' AWS AppConfig esecuzione dell'attività corrispondente al nome del punto di azione. Queste invocazioni di azioni vengono elaborate contemporaneamente a una richiesta. Se viene effettuata più di una richiesta, le chiamate alle azioni vengono eseguite in sequenza. Si noti inoltre che i punti di `PRE_*` azione ricevono e possono modificare il contenuto di una configurazione. `PRE_*`i punti di azione possono anche rispondere a un errore e impedire che si verifichi un'azione. 
+ `PRE_CREATE_HOSTED_CONFIGURATION_VERSION`
+ `PRE_START_DEPLOYMENT`

**Punti di azione ON\_\***: un'estensione può anche essere eseguita in parallelo a un AWS AppConfig flusso di lavoro utilizzando un punto `ON_*` azione. `ON_*`i punti di azione vengono richiamati in modo asincrono. `ON_*`i punti di azione non ricevono il contenuto di una configurazione. Se un'estensione riscontra un errore durante un punto di `ON_*` azione, il servizio ignora l'errore e continua il flusso di lavoro.
+ `ON_DEPLOYMENT_START`
+ `ON_DEPLOYMENT_STEP`
+ `ON_DEPLOYMENT_BAKING`
+ `ON_DEPLOYMENT_COMPLETE`
+ `ON_DEPLOYMENT_ROLLED_BACK`

**Punti di azione AT\_\***: le azioni di estensione configurate sui punti di `AT_*` azione vengono richiamate in modo sincrono e parallelo a un flusso di lavoro. AWS AppConfig Se un'estensione riscontra un errore durante un punto di `AT_*` azione, il servizio interrompe il flusso di lavoro e ripristina la distribuzione.
+ `AT_DEPLOYMENT_TICK`

Il punto di `AT_DEPLOYMENT_TICK` azione supporta l'integrazione del monitoraggio di terze parti. `AT_DEPLOYMENT_TICK`viene richiamato durante l'orchestrazione dell'elaborazione della configurazione, della distribuzione. Se utilizzi una soluzione di monitoraggio di terze parti (ad esempio Datadog o New Relic), puoi creare un' AWS AppConfig estensione che verifica la presenza di allarmi nel punto di `AT_DEPLOYMENT_TICK` azione e, come barriera di sicurezza, ripristina l'implementazione se ha attivato un allarme. 

Se utilizzi una soluzione di monitoraggio di terze parti come Datadog o New Relic, puoi creare un' AWS AppConfig estensione che verifica la presenza di allarmi nel punto di `AT_DEPLOYMENT_TICK` azione e, come barriera di sicurezza, ripristina l'implementazione se ha attivato un allarme. Per ulteriori informazioni, consulta i seguenti esempi di integrazione tra Datadog e New Relic su: GitHub 
+ [Datadog](https://github.com/aws-samples/aws-appconfig-tick-extn-for-datadog)
+ [New Relic](https://github.com/aws-samples/sample-aws-appconfig-tick-extn-for-newrelic)

Per ulteriori informazioni sulle AWS AppConfig estensioni, consulta i seguenti argomenti:
+ [Estendere i AWS AppConfig flussi di lavoro utilizzando le estensioni](working-with-appconfig-extensions.md)
+ [Procedura dettagliata: creazione di estensioni personalizzate AWS AppConfig](working-with-appconfig-extensions-creating-custom.md)

**Estensione di esempio**  
L'estensione di esempio seguente definisce un'azione che richiama il punto di `PRE_CREATE_HOSTED_CONFIGURATION_VERSION` azione. Nel `Uri` campo, l'azione specifica l'Amazon Resource Name (ARN) della funzione `MyS3ConfigurationBackUpExtension` Lambda creata in precedenza in questa procedura dettagliata. L'azione specifica anche l'ARN di assunzione del ruolo AWS Identity and Access Management (IAM) creato in precedenza in questa procedura dettagliata.

**Estensione di esempio AWS AppConfig **

```
{
    "Name": "MySampleExtension",
    "Description": "A sample extension that backs up configurations to an S3 bucket.",
    "Actions": {
        "PRE_CREATE_HOSTED_CONFIGURATION_VERSION": [
            {
                "Name": "PreCreateHostedConfigVersionActionForS3Backup",
                "Uri": "arn:aws:lambda:{{aws-region}}:111122223333:function:MyS3ConfigurationBackUpExtension",
                "RoleArn": "arn:aws:iam::111122223333:role/ExtensionsTestRole"
            }
        ]
    },
    "Parameters" : {
        "S3_BUCKET": {
            "Required": false
        }
    }
}
```

**Nota**  
Per visualizzare la sintassi della richiesta e le descrizioni dei campi durante la creazione di un'estensione, consulta l'[CreateExtension](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateExtension.html)argomento nell'*AWS AppConfig API Reference*.

**Per creare un'estensione (console)**

1. Apri la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Nel pannello di navigazione, scegli **AWS AppConfig**.

1. Nella scheda **Estensioni**, scegli **Crea estensione**.

1. Per **Nome estensione**, inserisci un nome univoco. Ai fini di questa procedura dettagliata, immettere. **MyS3ConfigurationBackUpExtension** Facoltativamente, inserire una descrizione.

1. Nella sezione **Azioni**, scegli **Aggiungi nuova azione**.

1. Per **Nome operazione**, inserire un nome univoco. Ai fini di questa procedura dettagliata, inserisci. **PreCreateHostedConfigVersionActionForS3Backup** Questo nome descrive il punto d'azione utilizzato dall'azione e lo scopo dell'estensione.

1. Nell'elenco dei **punti d'azione**, scegliete **PRE\_CREATE\_HOSTED\_CONFIGURATION\_VERSION**.

1. Per **Uri**, scegli la **funzione Lambda**, quindi scegli la funzione nell'elenco delle funzioni **Lambda**. Se non vedi la tua funzione, verifica di trovarti nella stessa posizione in Regione AWS cui l'hai creata.

1. Per **IAM Role**, scegli il ruolo che hai creato in precedenza in questa procedura dettagliata.

1. Nella sezione **Parametri di estensione (opzionale)**, scegli **Aggiungi nuovo** parametro. 

1. Per **Nome del parametro**, inserisci un nome. Ai fini di questa procedura dettagliata, immettere. **S3\_BUCKET**

1. Ripetete i passaggi da 5 a 11 per creare una seconda azione per il punto d'azione. `PRE_START_DEPLOYMENT`

1. Scegliete **Crea estensione**.