

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

# Gestisci i trigger per un repository AWS CodeCommit
<a name="how-to-notify"></a>

Puoi configurare un CodeCommit repository in modo che i push di codice o altri eventi attivino azioni, come l'invio di una notifica da Amazon Simple Notification Service (Amazon SNS) o l'invocazione di una funzione in. AWS Lambda Puoi creare fino a 10 trigger per ogni repository. CodeCommit 

Generalmente, i trigger vengono configurati per:
+ Inviare e-mail agli utenti abbonati ogni volta che qualcuno effettua il push nel repository.
+ Inviare una notifica a un sistema di compilazione esterno per avviare una compilazione dopo che un utente effettua il push al ramo principale del repository.

Scenari come la notifica a un sistema di compilazione esterno richiedono la scrittura di una funzione Lambda per interagire con altre applicazioni. Lo scenario di posta elettronica richiede semplicemente la creazione di un argomento Amazon SNS. 

Questo argomento mostra come impostare le autorizzazioni che consentono di CodeCommit attivare azioni in Amazon SNS e Lambda. Include inoltre collegamenti a esempi di creazione, modifica, test ed eliminazione di trigger.

**Topics**
+ [Crea la risorsa e aggiungi le autorizzazioni per CodeCommit](#how-to-notify-permissions)
+ [Esempio: creare un AWS CodeCommit trigger per un argomento di Amazon SNS](how-to-notify-sns.md)
+ [Esempio: creare un AWS CodeCommit trigger per una funzione AWS Lambda](how-to-notify-lambda.md)
+ [Esempio: creare un trigger AWS CodeCommit per una AWS Lambda funzione esistente](how-to-notify-lambda-cc.md)
+ [Modifica i trigger per un repository AWS CodeCommit](how-to-notify-edit.md)
+ [Test dei trigger per un repository AWS CodeCommit](how-to-notify-test.md)
+ [Eliminare i trigger da un repository AWS CodeCommit](how-to-notify-delete.md)

## Crea la risorsa e aggiungi le autorizzazioni per CodeCommit
<a name="how-to-notify-permissions"></a>

Puoi integrare argomenti di Amazon SNS e funzioni Lambda con i trigger in CodeCommit, ma devi prima creare e poi configurare le risorse con una policy che conceda CodeCommit le autorizzazioni per interagire con tali risorse. È necessario creare la risorsa nello stesso luogo in cui si trova il repository. Regione AWS CodeCommit Ad esempio, se il repository si trova negli Stati Uniti orientali (Ohio) (us-east-2), l'argomento Amazon SNS o la funzione Lambda devono trovarsi negli Stati Uniti orientali (Ohio).
+ Per gli argomenti di Amazon SNS, non è necessario configurare policy o autorizzazioni IAM aggiuntive se l'argomento Amazon SNS viene creato utilizzando lo stesso account del repository. CodeCommit Puoi creare il CodeCommit trigger non appena hai creato e sottoscritto l'argomento Amazon SNS. 
  + Per ulteriori informazioni sulla creazione di argomenti in Amazon SNS, consulta la documentazione di [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html).
  + *Per informazioni sull'uso di Amazon SNS per inviare messaggi alle code di Amazon SQS, [consulta Sending Messages to Amazon SQS Queues nella Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html).*
  + *Per informazioni sull'uso di Amazon SNS per richiamare una funzione Lambda, consulta Invoking [Lambda Functions nella](https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html) Amazon SNS Developer Guide.*
+ Puoi configurare le funzioni Lambda creando il trigger nella console Lambda come parte della funzione. Questo è il metodo più semplice, perché i trigger creati nella console Lambda includono automaticamente le autorizzazioni necessarie CodeCommit per richiamare la funzione Lambda. Se si crea il trigger in CodeCommit, è necessario includere una policy che CodeCommit consenta di richiamare la funzione. Per ulteriori informazioni, consulta [Creare un trigger per una funzione Lambda esistente](how-to-notify-lambda-cc.md).

# Esempio: creare un AWS CodeCommit trigger per un argomento di Amazon SNS
<a name="how-to-notify-sns"></a>

Puoi creare un trigger per un CodeCommit repository in modo che gli eventi in quel repository attivino le notifiche da un argomento di Amazon Simple Notification Service (Amazon SNS). Potresti voler creare un trigger per un argomento di Amazon SNS per consentire agli utenti di iscriversi alle notifiche sugli eventi del repository, come l'eliminazione delle filiali. Puoi anche sfruttare l'integrazione degli argomenti di Amazon SNS con altri servizi, come Amazon Simple Queue Service (Amazon SQS) e. AWS Lambda

**Nota**  
Devi indirizzare il trigger su un argomento esistente di Amazon SNS che è l'azione intrapresa in risposta agli eventi del repository. Per ulteriori informazioni sulla creazione e la sottoscrizione agli argomenti di Amazon SNS, [consulta la pagina Guida introduttiva ad Amazon Simple](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html) Notification Service. 
Gli argomenti FIFO (first in, first out) di Amazon SNS non sono supportati per i trigger. CodeCommit 

**Topics**
+ [Crea un trigger per un argomento Amazon SNS per un CodeCommit repository (console)](#how-to-notify-sns-console)
+ [Crea un trigger per un argomento Amazon SNS per un CodeCommit repository ()AWS CLI](#how-to-notify-sns-cli)

## Crea un trigger per un argomento Amazon SNS per un CodeCommit repository (console)
<a name="how-to-notify-sns-console"></a>

1. [Apri la CodeCommit console su codecommit/homehttps://console.aws.amazon.com/codesuite/.](https://console.aws.amazon.com/codesuite/codecommit/home)

1. In **Repository**, selezionare il repository in cui si desidera creare i trigger per gli eventi del repository.

1. Nel riquadro di navigazione per il repository, scegliere **Settings (Impostazioni)**, quindi **Triggers (Trigger)**.

1. Selezionare **Create trigger (Crea trigger)** e procedere come descritto di seguito:
   + In **Trigger name**, inserisci un nome per il trigger (ad esempio,). *MyFirstTrigger*
   + In **Eventi**, scegli gli eventi del repository che attivano l'argomento Amazon SNS per l'invio di notifiche. 

     Se si sceglie **All repository events (Tutti gli eventi del repository)**, non è possibile scegliere altri eventi. Per scegliere un sottoinsieme di eventi, deselezionare **All repository events (Tutti gli eventi del repository)**, quindi scegliere uno o più eventi nell'elenco. Se ad esempio si desidera eseguire il trigger solo quando un utente crea un ramo o un tag nel repository CodeCommit, deselezionare **All repository events (Tutti gli eventi del repository)**, quindi scegliere **Create branch or tag (Crea ramo o tag)**.
   + Se si desidera che il trigger sia valido per tutti i rami del repository in **Branches (Rami)**, lasciare la selezione vuota, poiché questa opzione di default applica il trigger automaticamente a tutti i rami. Se si desidera che questo trigger sia valido solo per rami specifici, scegliere fino a 10 nomi di rami dall'elenco dei rami del repository.
   + In **Scegli il servizio da usare**, scegli **Amazon SNS**.
   + In **Amazon SNS**, scegli il nome di un argomento dall'elenco o inserisci l'ARN per l'argomento.
**Nota**  
Gli argomenti FIFO (first in, first out) di Amazon SNS non sono supportati per i trigger. CodeCommit Devi scegliere un argomento di Amazon SNS il cui tipo sia impostato su Standard. 
   + In **Dati personalizzati**, fornisci tutte le informazioni facoltative che desideri includere nella notifica inviata dall'argomento Amazon SNS (ad esempio, il nome di un canale IRC utilizzato dagli sviluppatori quando discutono dello sviluppo in questo repository). Questo campo è una stringa e non può essere utilizzato per passare parametri dinamici. 

    

1. (Facoltativo) Scegliere **Test trigger (Esegui test trigger)**. Questo passaggio ti aiuta a confermare che l'accesso è stato configurato correttamente tra CodeCommit e l'argomento Amazon SNS. Utilizza l'argomento Amazon SNS per inviare una notifica di test utilizzando i dati del tuo repository, se disponibili. Se non sono disponibili dati reali, la notifica di prova contiene dati di esempio. 

1. Scegliere **Create trigger (Crea trigger)** per completare la creazione del trigger.

## Crea un trigger per un argomento Amazon SNS per un CodeCommit repository ()AWS CLI
<a name="how-to-notify-sns-cli"></a>

Puoi anche utilizzare la riga di comando per creare un trigger per un argomento Amazon SNS in risposta a eventi del CodeCommit repository, ad esempio quando qualcuno invia un commit al tuo repository. 

**Per creare un trigger per un argomento di Amazon SNS**

1. Aprire un editor di testo semplice e creare un file JSON che specifichi:
   + Il nome dell'argomento Amazon SNS.
**Nota**  
Gli argomenti FIFO (first in, first out) di Amazon SNS non sono supportati per i trigger. CodeCommit Devi scegliere un argomento di Amazon SNS il cui tipo sia impostato su Standard. 
   + Il repository e i rami che si desidera monitorare con questo trigger. Se non si specifica alcun ramo, il trigger viene applicato a tutti i rami nel repository.
   + Gli eventi che attivano il trigger.

    Salvare il file. 

   Ad esempio, per creare un trigger per un repository denominato *MyDemoRepo* che pubblica tutti gli eventi del repository su un argomento di Amazon SNS denominato *MySNSTopic* per due rami e: *main* *preprod*

   ```
   {
       "repositoryName": "MyDemoRepo",
       "triggers": [
           {
               "name": "MyFirstTrigger",
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MySNSTopic",
               "customData": "",
               "branches": [
                   "main", "preprod"
               ],
               "events": [
                   "all"
               ]
           }
       ]
   }
   ```

   È necessario specificare un blocco di trigger nel file JSON per ogni trigger di un repository. Per creare più trigger per il repository, includere più blocchi di trigger nel file JSON. Tenere presente che tutti i trigger creati in questo file si riferiscono al repository specificato. Non è possibile creare trigger per più repository in un singolo file JSON. Se, ad esempio, si desidera definire due trigger per un repository, è possibile creare un file JSON con due blocchi di trigger. Nell'esempio che segue non sono specificati rami per il secondo trigger, pertanto il trigger viene applicato a tutti i rami:

    

   ```
   {
       "repositoryName": "MyDemoRepo",
       "triggers": [
           {
               "name": "MyFirstTrigger",
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MySNSTopic",
               "customData": "",
               "branches": [
                   "main", "preprod"
               ],
               "events": [
                   "all"
               ]
           },
           {
               "name": "MySecondTrigger",
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MySNSTopic2",
               "customData": "",
               "branches": [],
               "events": [
                   "updateReference", "deleteReference"
               ]
           }
       ]
   }
   ```

   È possibile creare trigger per eventi specifici, ad esempio quando viene eseguito il push di un commit in un repository. I tipi di eventi includono:
   + `all` per tutti gli eventi nel repository e nei rami specificati.
   + `updateReference` quando il push dei commit viene eseguito nel repository e nei rami specificati.
   + `createReference` quando viene creato un nuovo ramo o tag nel repository specificato.
   + `deleteReference` quando viene eliminato un nuovo ramo o tag nel repository specificato.
**Nota**  
È possibile utilizzare più tipi di evento in un trigger. Se, tuttavia, si inserisce `all` non è possibile specificare altri eventi. 

   Per visualizzare l'elenco completo dei tipi di evento validi, dal terminale o dal prompt dei comandi, immettere **aws codecommit put-repository-triggers help**. 

   Inoltre, è possibile includere una stringa in `customData`, ad esempio il nome di un canale IRC utilizzato dagli sviluppatori quando discutono di sviluppo in questo repository. Questo campo è una stringa e non può essere utilizzato per passare parametri dinamici. Questa stringa viene aggiunta come attributo al codice CodeCommit JSON restituito in risposta al trigger.

1. (Facoltativo) Da un terminale o dal prompt dei comandi, eseguire il comando **test-repository-triggers**. Questo test utilizza dati di esempio dal repository (o genera dati di esempio se non sono disponibili dati) per inviare una notifica agli abbonati dell'argomento Amazon SNS. Ad esempio, quanto segue viene utilizzato per verificare che il codice JSON nel file trigger denominato *trigger.json* sia valido e che CodeCommit possa essere pubblicato sull'argomento Amazon SNS: 

   ```
   aws codecommit test-repository-triggers --cli-input-json file://trigger.json
   ```

   Se il comando viene eseguito correttamente, restituisce informazioni simili alle seguenti:

   ```
   {
       "successfulExecutions": [
           "MyFirstTrigger"
       ],
       "failedExecutions": []
   }
   ```

1. Da un terminale o dal prompt dei comandi, eseguire il comando **put-repository-triggers** per creare il trigger in CodeCommit. Ad esempio, per utilizzare un file JSON denominato *trigger.json* per creare il trigger:

   `aws codecommit put-repository-triggers --cli-input-json file://trigger.json`

   Questo comando restituisce un [ID di configurazione](https://docs.aws.amazon.com/codecommit/latest/APIReference/API_PutRepositoryTriggers.html#-PutRepositoryTriggers-response-configurationId) simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE"
   }
   ```

1. Per visualizzare la configurazione del trigger, eseguire il comando **get-repository-triggers** specificando il nome del repository:

   `aws codecommit get-repository-triggers --repository-name MyDemoRepo`

   Questo comando restituisce la struttura di tutti i trigger configurati per il repository, producendo un output simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE",
       "triggers": [
           {
               "events": [
                   "all"
               ],
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MySNSTopic",
               "branches": [
                   "main",
                   "preprod"
               ],
               "name": "MyFirstTrigger",
               "customData": "Project ID 12345"
           }
       ]
   }
   ```

1. Per verificare la funzionalità del trigger, creare ed effettuare il push di un commit nel repository in cui è stato configurato il trigger. Dovresti vedere una risposta dall'argomento Amazon SNS. Ad esempio, se hai configurato l'argomento Amazon SNS per inviare un'e-mail, dovresti vedere un'e-mail di Amazon SNS nell'account e-mail sottoscritto all'argomento.

   Di seguito è riportato un esempio di output di un'e-mail inviata da Amazon SNS in risposta a un push a un CodeCommit repository:

   ```
   {  
     "Records":[  
        {  
           "awsRegion":"us-east-2",
           "codecommit":{
              "references" : [
                 {
                       "commit":"317f8570EXAMPLE",
                       "created":true,
                       "ref":"refs/heads/NewBranch"
                 },
                 {
                       "commit":"4c925148EXAMPLE",
                       "ref":"refs/heads/preprod",
                 }
               ]
             },
           "eventId":"11111-EXAMPLE-ID",
           "eventName":"ReferenceChange",
           "eventPartNumber":1,
           "eventSource":"aws:codecommit",
           "eventSourceARN":"arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
           "eventTime":"2016-02-09T00:08:11.743+0000",
           "eventTotalParts":1,
           "eventTriggerConfigId":"0123456-I-AM-AN-EXAMPLE",
           "eventTriggerName":"MyFirstTrigger",
           "eventVersion":"1.0",
           "customData":"Project ID 12345", 
           "userIdentityARN":"arn:aws:iam::111122223333:user/JaneDoe-CodeCommit",
        }
     ]
   }
   ```

# Esempio: creare un AWS CodeCommit trigger per una funzione AWS Lambda
<a name="how-to-notify-lambda"></a>

È possibile creare un trigger per un CodeCommit repository in modo che gli eventi nel repository richiamino una funzione Lambda. In questo esempio, crei una funzione Lambda che restituisce l'URL utilizzato per clonare il repository in un log Amazon. CloudWatch 

**Topics**
+ [Creazione della funzione Lambda](#how-to-notify-lambda-create-function)
+ [Visualizza il trigger per la funzione Lambda nel repository AWS CodeCommit](#how-to-notify-lam-view)

## Creazione della funzione Lambda
<a name="how-to-notify-lambda-create-function"></a>

Quando usi la console Lambda per creare la funzione, puoi anche creare un CodeCommit trigger per la funzione Lambda. I passaggi seguenti includono una funzione Lambda di esempio. L'esempio è disponibile in due lingue: JavaScript e Python. La funzione restituisce l' URLs usato per clonare un repository in un registro. CloudWatch 

**Per creare una funzione Lambda utilizzando un blueprint Lambda**

1. Accedi a Console di gestione AWS e apri la console all' AWS Lambda indirizzo. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)

1. Nella pagina **Funzioni Lambda**, scegli **Crea** funzione. (Se non hai mai usato Lambda prima, scegli **Inizia ora**.)

1. Nella pagina **Create function (Crea funzione)**, scegliere **Author from scratch (Crea da zero)**. In **Function Name**, fornisci un nome per la funzione, ad esempio*MyLambdaFunctionforCodeCommit*. In **Runtime**, scegliere la lingua che si desidera utilizzare per scrivere la funzione, quindi scegliere **Create function (Crea funzione)**.

1. Nella scheda **Configuration (Configurazione)** scegliere **Add trigger (Aggiungi trigger)**.

1.  Nella **configurazione Trigger**, scegli **CodeCommit**dall'elenco a discesa dei servizi.   
![\[Creazione di un repository dalla console\]](http://docs.aws.amazon.com/it_it/codecommit/latest/userguide/images/codecommit-lambda-trigger.png)

    
   + In **Nome repository**, scegli il nome del repository in cui desideri configurare un trigger che utilizza la funzione Lambda in risposta agli eventi del repository.
   + In **Nome trigger**, inserisci un nome per il trigger (ad esempio,). *MyLambdaFunctionTrigger*
   + In **Eventi**, scegli gli eventi del repository che attivano la funzione Lambda. Se si sceglie **All repository events (Tutti gli eventi del repository)**, non è possibile scegliere altri eventi. Se ad esempio si desidera scegliere un sottoinsieme di eventi, deselezionare **All repository events (Tutti gli eventi del repository)** e scegliere gli eventi desiderati nell'elenco. Ad esempio, se desideri che il trigger venga eseguito solo quando un utente crea un tag o un ramo nel AWS CodeCommit repository, **rimuovi Tutti gli eventi del repository**, quindi scegli **Crea** ramo o tag.
   + Se si desidera applicare il trigger a tutti i rami del repository, in **Branches (Rami)**, scegliere **All Branches (Tutti i rami)**. In caso contrario, scegliere **Specific branches (Rami specifici)**. Per impostazione predefinita, viene aggiunto il ramo predefinito per il repository. È possibile mantenere o eliminare questo ramo dall'elenco. Scegliere fino a 10 nomi di rami nell'elenco di rami del repository.
   + (Facoltativo) In **Dati personalizzati**, inserisci le informazioni che desideri includere nella funzione Lambda (ad esempio, il nome del canale IRC usato dagli sviluppatori per discutere dello sviluppo nel repository). Questo campo è una stringa e non può essere utilizzato per passare parametri dinamici.

   Scegliere **Aggiungi**.

1. Nella pagina **Configuration (Configurazione)** in **Function Code (Codice funzione)**, per il tipo di immissione codice, scegliere Edit code inline (Modifica codice inline). In **Runtime**, scegliere **Node.js**. Se si desidera creare una funzione Python di esempio, scegliere ** Python**.

1. In **Code entry type (Tipo di voce del codice)**, scegliere **Edit code inline (Modifica codice inline)**, quindi sostituire il codice hello world con uno dei due esempi riportati di seguito.

   Per Node.js:

   ```
   import {
     CodeCommitClient,
     GetRepositoryCommand,
   } from "@aws-sdk/client-codecommit";
   
   const codecommit = new CodeCommitClient({ region: "your-region" });
   
   /**
    * @param {{ Records: { codecommit: { references: { ref: string }[] }, eventSourceARN: string  }[]} event
    */
   export const handler = async (event) => {
     // Log the updated references from the event
     const references = event.Records[0].codecommit.references.map(
       (reference) => reference.ref,
     );
     console.log("References:", references);
   
     // Get the repository from the event and show its git clone URL
     const repository = event.Records[0].eventSourceARN.split(":")[5];
     const params = {
       repositoryName: repository,
     };
   
     try {
       const data = await codecommit.send(new GetRepositoryCommand(params));
       console.log("Clone URL:", data.repositoryMetadata.cloneUrlHttp);
       return data.repositoryMetadata.cloneUrlHttp;
     } catch (error) {
       console.error("Error:", error);
       throw new Error(
         `Error getting repository metadata for repository ${repository}`,
       );
     }
   };
   ```

   Per Python:

   ```
   import json
   import boto3
   
   codecommit = boto3.client("codecommit")
   
   
   def lambda_handler(event, context):
       # Log the updated references from the event
       references = {
           reference["ref"]
           for reference in event["Records"][0]["codecommit"]["references"]
       }
       print("References: " + str(references))
   
       # Get the repository from the event and show its git clone URL
       repository = event["Records"][0]["eventSourceARN"].split(":")[5]
       try:
           response = codecommit.get_repository(repositoryName=repository)
           print("Clone URL: " + response["repositoryMetadata"]["cloneUrlHttp"])
           return response["repositoryMetadata"]["cloneUrlHttp"]
       except Exception as e:
           print(e)
           print(
               "Error getting repository {}. Make sure it exists and that your repository is in the same region as this function.".format(
                   repository
               )
           )
           raise e
   ```

1. Nella scheda **Autorizzazioni**, in **Ruolo di esecuzione**, scegli il ruolo per aprirlo nella console IAM. Modificare la policy collegata per aggiungere l'autorizzazione `GetRepository` per il repository che si desidera venga utilizzato dal trigger.

## Visualizza il trigger per la funzione Lambda nel repository AWS CodeCommit
<a name="how-to-notify-lam-view"></a>

Dopo aver creato la funzione Lambda, è possibile visualizzare e testare il trigger in. AWS CodeCommit Il test del trigger esegue la funzione in risposta agli eventi del repository specificati.

**Per visualizzare e testare il trigger per la funzione Lambda**

1. Apri la CodeCommit console su [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. In **Repositories (Repository)**, scegliere il repository in cui si desidera visualizzare i trigger.

1. Nel riquadro di navigazione per il repository, scegliere **Settings (Impostazioni)**, quindi **Triggers (Trigger)**.

1. Esaminare l'elenco dei trigger per il repository. Dovresti vedere il trigger che hai creato nella console Lambda. Selezionarlo dall'elenco e quindi scegliere **Test trigger (Esegui test trigger)**. Questa opzione tenta di invocare la funzione con i dati di esempio relativi al repository, incluso l'ID commit più recente. Se non esiste una cronologia dei commit, vengono generati valori di esempio costituiti da zero. Questo ti aiuta a confermare di aver configurato correttamente l'accesso tra AWS CodeCommit e la funzione Lambda.

1. Per verificare ulteriormente la funzionalità del trigger, creare ed effettuare il push di un commit nel repository in cui è stato configurato il trigger. Dovresti vedere una risposta dalla funzione Lambda nella scheda **Monitoraggio** per quella funzione nella console Lambda. Dalla scheda **Monitoraggio**, scegli **Visualizza i log** in. CloudWatch La CloudWatch console si apre in una nuova scheda e visualizza gli eventi relativi alla funzione. Selezionare dall'elenco il flusso di log che corrisponde al momento in cui è stato eseguito il push del commit. Dovrebbero essere visualizzati dati di evento simili ai seguenti:

   ```
   START RequestId: 70afdc9a-EXAMPLE Version: $LATEST
   2015-11-10T18:18:28.689Z	70afdc9a-EXAMPLE	References: [ 'refs/heads/main' ]
   2015-11-10T18:18:29.814Z	70afdc9a-EXAMPLE	Clone URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
   END RequestId: 70afdc9a-EXAMPLE
   REPORT RequestId: 70afdc9a-EXAMPLE Duration: 1126.87 ms Billed Duration: 1200 ms Memory Size: 128 MB Max Memory Used: 14 MB
   ```

# Esempio: creare un trigger AWS CodeCommit per una AWS Lambda funzione esistente
<a name="how-to-notify-lambda-cc"></a>

Il modo più semplice per creare un trigger che richiami una funzione Lambda consiste nel creare quel trigger nella console Lambda. Questa integrazione integrata garantisce che CodeCommit disponga delle autorizzazioni necessarie per eseguire la funzione. Per aggiungere un trigger per una funzione Lambda esistente, vai alla console Lambda e scegli la funzione. Nella scheda **Triggers (Trigger)** per la funzione, seguire la procedura in **Add trigger (Aggiungi trigger)**. Questi passaggi sono simili a quelli in [Creazione della funzione Lambda](how-to-notify-lambda.md#how-to-notify-lambda-create-function).

Puoi anche creare un trigger per una funzione Lambda in un CodeCommit repository. A tale scopo è necessario scegliere una funzione Lambda esistente da richiamare. Richiede inoltre la configurazione manuale delle autorizzazioni necessarie per CodeCommit eseguire la funzione.

**Topics**
+ [Configura manualmente le autorizzazioni per consentire l'esecuzione CodeCommit di una funzione Lambda](#how-to-notify-lam-perm)
+ [Creare un trigger per la funzione Lambda in un CodeCommit repository (console)](#how-to-notify-lam-console)
+ [Crea un trigger per una funzione Lambda per un CodeCommit repository ()AWS CLI](#how-to-notify-lam-cli)

## Configura manualmente le autorizzazioni per consentire l'esecuzione CodeCommit di una funzione Lambda
<a name="how-to-notify-lam-perm"></a>

Se crei un trigger CodeCommit che richiama una funzione Lambda, devi configurare manualmente le autorizzazioni che consentono di CodeCommit eseguire la funzione Lambda. Per evitare questa configurazione manuale, considera invece la possibilità di creare il trigger per la funzione nella console Lambda.<a name="how-to-notify-lambda-create-function-perm"></a>

**Per consentire CodeCommit l'esecuzione di una funzione Lambda**

1. Apri un editor di testo semplice e crea un file JSON che specifichi il nome della funzione Lambda, i dettagli del CodeCommit repository e le azioni che desideri consentire in Lambda, in modo simile al seguente:

   ```
   {
       "FunctionName": "MyCodeCommitFunction", 
       "StatementId": "1", 
       "Action": "lambda:InvokeFunction", 
       "Principal": "codecommit.amazonaws.com", 
       "SourceArn": "arn:aws:codecommit:us-east-1:111122223333:MyDemoRepo", 
       "SourceAccount": "111122223333"
   }
   ```

1. Salvate il file come file JSON con un nome facile da ricordare (ad esempio, .json). *AllowAccessfromMyDemoRepo*

1. Utilizzando il file JSON appena creato, nel terminale (Linux, macOS o Unix) o nella riga di comando (Windows), esegui **aws lambda add-permissions** il comando per aggiungere un'autorizzazione alla politica delle risorse associata alla tua funzione Lambda:

   ```
   aws lambda add-permission --cli-input-json file://AllowAccessfromMyDemoRepo.json
   ```

   Questo comando restituisce la sintassi JSON dell'istruzione della policy appena aggiunta, producendo un output simile al seguente:

   ```
   {
       "Statement": "{\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"111122223333\"},\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:codecommit:us-east-1:111122223333:MyDemoRepo\"}},\"Action\":[\"lambda:InvokeFunction\"],\"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:MyCodeCommitFunction\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codecommit.amazonaws.com\"},\"Sid\":\"1\"}"
   }
   ```

   Per ulteriori informazioni sulle politiche delle risorse per le funzioni Lambda, vedere [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html)e [The Pull/Push Event Models](https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html) nella *AWS Lambda User* Guide.

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione della **Dashboard**, scegli **Ruoli** e nell'elenco dei ruoli seleziona*lambda\$1basic\$1execution*.

1. Nella pagina di riepilogo del ruolo, scegliere la scheda **Permissions (Autorizzazioni)** e, in **Inline Policies (Policy inline)**, scegliere **Create Role Policy (Crea policy ruolo)**.

1. Nella pagina **Set Permissions (Imposta autorizzazioni)**, scegliere **Policy Generator (Generatore di policy)**, quindi **Select (Seleziona)**.

1. Nella pagina **Edit Permissions (Modifica autorizzazioni)**, procedere nel modo seguente:
   + In **Effect (Effetto)**, scegliere **Allow (Consenti)**.
   + In **AWS Servizio**, scegli **AWS CodeCommit**.
   + In **Azioni**, seleziona **GetRepository**.
   + In **Amazon Resource Name (ARN)**, digitare il nome ARN del repository, ad esempio `arn:aws:codecommit:us-east-1:111122223333:MyDemoRepo`.

   Selezionare **Add Statement (Aggiungi istruzione)**, quindi **Next Step (Fase successiva)**.

1. Nella pagina **Review Policy (Revisiona policy)**, scegliere **Apply Policy (Applica policy)**. 

   La dichiarazione relativa alla policy dovrebbe essere simile all'esempio seguente:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt11111111",
               "Effect": "Allow",
               "Action": [
                   "codecommit:GetRepository"
               ],
               "Resource": [
                   "arn:aws:codecommit:us-east-1:111122223333:MyDemoRepo"
               ]
           }
       ]
   }
   ```

------

## Creare un trigger per la funzione Lambda in un CodeCommit repository (console)
<a name="how-to-notify-lam-console"></a>

Dopo aver creato la funzione Lambda, è possibile creare un trigger CodeCommit che esegue la funzione in risposta agli eventi del repository specificati.

**Nota**  
Prima di poter testare o eseguire correttamente il trigger per l'esempio, è necessario configurare le politiche che consentono di CodeCommit richiamare la funzione e la funzione Lambda per ottenere informazioni sul repository. Per ulteriori informazioni, consulta [Per consentire CodeCommit l'esecuzione di una funzione Lambda](#how-to-notify-lambda-create-function-perm).

**Per creare un trigger per una funzione Lambda**

1. Apri la CodeCommit console su [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. In **Repository**, selezionare il repository in cui si desidera creare i trigger per gli eventi del repository.

1. Nel riquadro di navigazione per il repository, scegliere **Settings (Impostazioni)**, quindi **Triggers (Trigger)**.

1. Selezionare **Create trigger (Crea trigger)**.

1. In **Create trigger (Crea trigger)**, eseguire quanto segue:

    
   + In **Trigger name**, inserisci un nome per il trigger (ad esempio,). *MyLambdaFunctionTrigger*
   + In **Eventi**, scegli gli eventi del repository che attivano la funzione Lambda. 

     Se si sceglie **All repository events (Tutti gli eventi del repository)**, non è possibile scegliere altri eventi. Se ad esempio si desidera scegliere un sottoinsieme di eventi, deselezionare **All repository events (Tutti gli eventi del repository)** e scegliere gli eventi desiderati nell'elenco. Se ad esempio si desidera eseguire il trigger solo quando un utente crea un tag o un ramo nel repository CodeCommit , rimuovere **All repository events (Tutti gli eventi del repository)**, quindi scegliere **Create branch or tag (Crea ramo o tag)**.
   + Se si desidera che il trigger sia valido per tutti i rami del repository in **Branches (Rami)**, lasciare la selezione vuota, poiché questa opzione di default applica il trigger automaticamente a tutti i rami. Se si desidera che questo trigger sia valido solo per rami specifici, scegliere fino a 10 nomi di rami dall'elenco dei rami del repository.
   + In **Choose the service to use (Scegli il servizio da utilizzare)**, scegliere **AWS Lambda**.
   + Nella **funzione Lambda**, scegli il nome della funzione dall'elenco o inserisci l'ARN per la funzione.
   + (Facoltativo) In **Dati personalizzati**, inserisci le informazioni che desideri includere nella funzione Lambda (ad esempio, il nome del canale IRC usato dagli sviluppatori per discutere dello sviluppo nel repository). Questo campo è una stringa e non può essere utilizzato per passare parametri dinamici.

1. (Facoltativo) Scegliere **Test trigger (Esegui test trigger)**. Questa opzione tenta di invocare la funzione con i dati di esempio relativi al repository, incluso l'ID commit più recente. Se non esiste una cronologia dei commit, vengono generati valori di esempio costituiti da zero. Questo ti aiuta a confermare di aver configurato correttamente l'accesso tra CodeCommit e la funzione Lambda.

1. Scegliere **Create trigger (Crea trigger)** per completare la creazione del trigger.

1. Per verificare la funzionalità del trigger, creare ed effettuare il push di un commit nel repository in cui è stato configurato il trigger. Dovresti vedere una risposta dalla funzione Lambda nella scheda **Monitoraggio** per quella funzione nella console Lambda. 

## Crea un trigger per una funzione Lambda per un CodeCommit repository ()AWS CLI
<a name="how-to-notify-lam-cli"></a>

Puoi anche usare la riga di comando per creare un trigger per una funzione Lambda in risposta agli eventi del CodeCommit repository, ad esempio quando qualcuno invia un commit al tuo repository. 

**Per creare un trigger per una funzione Lambda**

1. Aprire un editor di testo semplice e creare un file JSON che specifichi:
   + Il nome della funzione Lambda.
   + Il repository e i rami che si desidera monitorare con questo trigger. Se non si specifica alcun ramo, il trigger viene applicato a tutti i rami nel repository.
   + Gli eventi che attivano il trigger.

    Salvare il file. 

   Ad esempio, se desideri creare un trigger per un repository denominato *MyDemoRepo* che pubblica tutti gli eventi del repository in una funzione Lambda denominata *MyCodeCommitFunction* per due rami e: *main* *preprod*

   ```
   {
       "repositoryName": "MyDemoRepo",
       "triggers": [
           {
               "name": "MyLambdaFunctionTrigger",
               "destinationArn": "arn:aws:lambda:us-east-1:111122223333:function:MyCodeCommitFunction",
               "customData": "",
               "branches": [
                   "main", "preprod"
               ],
               "events": [
                   "all"
               ]
           }
       ]
   }
   ```

   È necessario specificare un blocco di trigger nel file JSON per ogni trigger di un repository. Per creare più trigger per un repository, includere blocchi aggiuntivi nel file JSON. Tenere presente che tutti i trigger creati in questo file si riferiscono al repository specificato. Non è possibile creare trigger per più repository in un singolo file JSON. Se, ad esempio, si desidera definire due trigger per un repository, è possibile creare un file JSON con due blocchi di trigger. Nell'esempio che segue non sono specificati rami nel secondo blocco di trigger, pertanto il trigger viene applicato a tutti i rami:

    

   ```
   {
       "repositoryName": "MyDemoRepo",
       "triggers": [
           {
               "name": "MyLambdaFunctionTrigger",
               "destinationArn": "arn:aws:lambda:us-east-1:111122223333:function:MyCodeCommitFunction",
               "customData": "",
               "branches": [
                   "main", "preprod"
               ],
               "events": [
                   "all"
               ]
           },
           {
               "name": "MyOtherLambdaFunctionTrigger",
               "destinationArn": "arn:aws:lambda:us-east-1:111122223333:function:MyOtherCodeCommitFunction",
               "customData": "",
               "branches": [],
               "events": [
                   "updateReference", "deleteReference"
               ]
           }
       ]
   }
   ```

   È possibile creare trigger per eventi specifici, ad esempio quando viene eseguito il push di un commit in un repository. I tipi di eventi includono:
   + `all` per tutti gli eventi nel repository e nei rami specificati.
   + `updateReference` quando il push dei commit viene eseguito nel repository e nei rami specificati.
   + `createReference` quando viene creato un nuovo ramo o tag nel repository specificato.
   + `deleteReference` quando viene eliminato un nuovo ramo o tag nel repository specificato.
**Nota**  
È possibile utilizzare più tipi di evento in un trigger. Se, tuttavia, si inserisce `all` non è possibile specificare altri eventi. 

   Per visualizzare l'elenco completo dei tipi di evento validi, dal terminale o dal prompt dei comandi, immettere **aws codecommit put-repository-triggers help**. 

   Inoltre, è possibile includere una stringa in `customData`, ad esempio il nome di un canale IRC utilizzato dagli sviluppatori quando discutono di sviluppo in questo repository. Questo campo è una stringa e non può essere utilizzato per passare parametri dinamici. Questa stringa viene aggiunta come attributo al codice CodeCommit JSON restituito in risposta al trigger.

1. (Facoltativo) Da un terminale o dal prompt dei comandi, eseguire il comando **test-repository-triggers**. Ad esempio, quanto segue viene utilizzato per verificare che il file JSON denominato *trigger.json* sia valido e che CodeCommit possa attivare la funzione Lambda. Questo test utilizza i dati di esempio per attivare la funzione se non sono disponibili dati reali.

   ```
   aws codecommit test-repository-triggers --cli-input-json file://trigger.json
   ```

   Se il comando viene eseguito correttamente, restituisce informazioni simili alle seguenti:

   ```
   {
       "successfulExecutions": [
           "MyLambdaFunctionTrigger"
       ],
       "failedExecutions": []
   }
   ```

1. Da un terminale o dal prompt dei comandi, eseguire il comando **put-repository-triggers** per creare il trigger in CodeCommit. Ad esempio, per utilizzare un file JSON denominato *trigger.json* per creare il trigger:

   `aws codecommit put-repository-triggers --cli-input-json file://trigger.json`

   Questo comando restituisce un ID di configurazione, simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE"
   }
   ```

1. Per visualizzare la configurazione del trigger, eseguire il comando **get-repository-triggers** specificando il nome del repository:

   `aws codecommit get-repository-triggers --repository-name MyDemoRepo`

   Questo comando restituisce la struttura di tutti i trigger configurati per il repository, producendo un output simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE",
       "triggers": [
           {
               "events": [
                   "all"
               ],
               "destinationArn": "arn:aws:lambda:us-east-1:111122223333:MyCodeCommitFunction",
               "branches": [
                   "main",
                   "preprod"
               ],
               "name": "MyLambdaFunctionTrigger",
               "customData": "Project ID 12345"
           }
       ]
   }
   ```

1. Per verificare la funzionalità del trigger, creare ed effettuare il push di un commit nel repository in cui è stato configurato il trigger. Dovresti vedere una risposta dalla funzione Lambda nella scheda **Monitoraggio** per quella funzione nella console Lambda. 

# Modifica i trigger per un repository AWS CodeCommit
<a name="how-to-notify-edit"></a>

È possibile modificare i trigger che sono stati creati per un repository. CodeCommit così come gli eventi e i rami dei trigger, l'azione eseguita in risposta all'evento e altre impostazioni. 

**Topics**
+ [Modifica un trigger per un repository (console)](#how-to-notify-edit-console)
+ [Modifica un trigger per un repository ()AWS CLI](#how-to-notify-edit-cli)

## Modifica un trigger per un repository (console)
<a name="how-to-notify-edit-console"></a>

1. Apri la CodeCommit console su [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. In **Repository**, selezionare il repository in cui si desidera modificare un trigger per gli eventi del repository.

1. Nel riquadro di navigazione per il repository, scegliere **Settings (Impostazioni)**, quindi **Triggers (Trigger)**.

1. Dall'elenco di trigger per il repository, scegliere il trigger che si desidera modificare, quindi selezionare **Edit (Modifica)**. 

1. Apportare le modifiche desiderate al trigger, quindi scegliere **Save (Salva)**.

## Modifica un trigger per un repository ()AWS CLI
<a name="how-to-notify-edit-cli"></a>

1. In un terminale (Linux, macOS o Unix) o dal prompt dei comandi (Windows), esegui il **get-repository-triggers** comando per creare un file JSON con la struttura di tutti i trigger configurati per il tuo repository. Ad esempio, per creare un file JSON denominato *MyTriggers.json* con la struttura di tutti i trigger configurati per un repository denominato: *MyDemoRepo*

   ```
   aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json
   ```

   Questo comando non restituisce nulla, ma un file denominato *MyTriggers.json* viene creato nella directory in cui è stato eseguito il comando.

1. Modificare il file JSON in un editor di testo semplice e apportare modifiche al blocco di trigger del trigger che si desidera modificare. Sostituire la coppia `configurationId` con una coppia `repositoryName`. Salvare il file.

   Ad esempio, se desideri modificare un trigger denominato *MyFirstTrigger* nel repository denominato in *MyDemoRepo* modo che si applichi a tutti i rami, sostituiscilo `configurationId` con `repositoryName` e rimuovi quello specificato `main` e `preprod` i rami in*red italic text*. Per impostazione predefinita, se non sono specificati rami, il trigger viene applicato a tutti i rami nel repository:

   ```
   {
       "repositoryName": "MyDemoRepo", 
       "triggers": [
           {
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MyCodeCommitTopic", 
               "branches": [
                   "main", 
                   "preprod"
               ], 
               "name": "MyFirstTrigger", 
               "customData": "", 
               "events": [
                   "all"
               ]
           }  
       ]
   }
   ```

1. Dal terminale o dalla riga di comando, esegui il comando **put-repository-triggers**. Questo aggiorna tutti i trigger per il repository, incluse le modifiche apportate al trigger: *MyFirstTrigger*

   ```
   aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json
   ```

   Questo comando restituisce un ID di configurazione, simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE"
   }
   ```

# Test dei trigger per un repository AWS CodeCommit
<a name="how-to-notify-test"></a>

È possibile testare i trigger che sono stati creati per un repository. CodeCommit Il test comporta l'esecuzione del trigger con dati di esempio del repository, tra cui l'ID del commit più recente. Se non esiste una cronologia dei commit per il repository, vengono generati valori di esempio costituiti da zero. I trigger di test ti aiutano a confermare di aver configurato correttamente l'accesso tra CodeCommit e la destinazione del trigger, che si tratti di una AWS Lambda funzione o di una notifica di Amazon Simple Notification Service. 

**Topics**
+ [Prova un trigger per un repository (console)](#how-to-notify-test-console)
+ [Prova un trigger per un repository ()AWS CLI](#how-to-notify-test-cli)

## Prova un trigger per un repository (console)
<a name="how-to-notify-test-console"></a>

1. Apri la CodeCommit console su [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. In **Repository**, selezionare il repository in cui si desidera eseguire il test di un trigger per gli eventi del repository.

1. Nel riquadro di navigazione per il repository, scegliere **Settings (Impostazioni)**, quindi **Triggers (Trigger)**.

1. Scegliere il trigger che si desidera testare, quindi selezionare **Test trigger (Esegui test trigger)**. Viene visualizzato un messaggio di esito positivo o negativo. In caso di successo, dovresti vedere anche una risposta all'azione corrispondente dalla funzione Lambda o dall'argomento Amazon SNS.

## Prova un trigger per un repository ()AWS CLI
<a name="how-to-notify-test-cli"></a>

1. In un terminale (Linux, macOS o Unix) o dal prompt dei comandi (Windows), esegui il **get-repository-triggers** comando per creare un file JSON con la struttura di tutti i trigger configurati per il tuo repository. Ad esempio, per creare un file JSON denominato *TestTrigger.json* con la struttura di tutti i trigger configurati per un repository denominato: MyDemoRepo

   ```
   aws codecommit get-repository-triggers --repository-name MyDemoRepo >TestTrigger.json
   ```

   Questo comando crea un file denominato *TestTriggers.json* nella directory in cui è stato eseguito il comando.

1. Modificare il file JSON in un editor di testo semplice e apportare le modifiche all'istruzione trigger. Sostituire la coppia `configurationId` con una coppia `repositoryName`. Salvare il file.

   Ad esempio, se desideri testare un trigger denominato *MyFirstTrigger* nel repository denominato in *MyDemoRepo* modo che si applichi a tutti i rami, sostituiscilo `configurationId` con `repositoryName` e quindi salva un file simile al seguente come*TestTrigger.json*:

   ```
   {
       "repositoryName": "MyDemoRepo", 
       "triggers": [
           {
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MyCodeCommitTopic", 
               "branches": [
                   "main", 
                   "preprod"
               ], 
               "name": "MyFirstTrigger", 
               "customData": "", 
               "events": [
                   "all"
               ]
           }  
       ]
   }
   ```

1. Dal terminale o dalla riga di comando, esegui il comando **test-repository-triggers**. Questo aggiorna tutti i trigger per il repository, incluse le modifiche apportate al trigger: *MyFirstTrigger*

   ```
   aws codecommit test-repository-triggers --cli-input-json file://TestTrigger.json
   ```

   Questo comando restituisce una risposta simile alla seguente:

   ```
   {
       "successfulExecutions": [
           "MyFirstTrigger"
       ],
       "failedExecutions": []
   }
   ```

# Eliminare i trigger da un repository AWS CodeCommit
<a name="how-to-notify-delete"></a>

È possibile eliminare i trigger se non sono più utilizzati. Non puoi annullare l'eliminazione di un trigger, ma puoi creare nuovamente un trigger.

**Nota**  
Se hai configurato uno o più trigger per il tuo repository, l'eliminazione del repository non elimina gli argomenti di Amazon SNS o le funzioni Lambda che hai configurato come destinazioni di tali trigger. Assicurati di eliminare tali risorse, anche se non sono più necessarie.

**Topics**
+ [Elimina un trigger da un repository (console)](#how-to-notify-delete-console)
+ [Elimina un trigger da un repository ()AWS CLI](#how-to-notify-delete-cli)

## Elimina un trigger da un repository (console)
<a name="how-to-notify-delete-console"></a>

1. Apri la CodeCommit console su [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. In **Repositories (Repository)**, selezionare il repository in cui si desidera eliminare i trigger per gli eventi del repository.

1. Nel riquadro di navigazione per il repository, selezionare **Settings (Impostazioni)**. In **Settings (Impostazioni)**, scegliere **Triggers (Trigger)**.

1. Scegliere il trigger da eliminare dall'elenco di trigger, quindi selezionare **Delete (Elimina)**.

1. Nella finestra di dialogo, digitare **delete (elimina)** per confermare.

## Elimina un trigger da un repository ()AWS CLI
<a name="how-to-notify-delete-cli"></a>

1. In un terminale (Linux, macOS o Unix) o dal prompt dei comandi (Windows), esegui il **get-repository-triggers** comando per creare un file JSON con la struttura di tutti i trigger configurati per il tuo repository. Ad esempio, per creare un file JSON denominato *MyTriggers.json* con la struttura di tutti i trigger configurati per un repository denominato: MyDemoRepo

   ```
   aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json
   ```

   Questo comando crea un file denominato *MyTriggers.json* nella directory in cui è stato eseguito il comando.

1. Modificare il file JSON in un editor di testo semplice e rimuovere il blocco di trigger per il trigger che si desidera eliminare. Sostituire la coppia `configurationId` con una coppia `repositoryName`. Salvare il file.

   Ad esempio, se si desidera rimuovere un trigger denominato *MyFirstTrigger* dal repository denominato*MyDemoRepo*, è necessario sostituirlo `configurationId` con `repositoryName` e rimuovere l'istruzione in*red italic text*:

   ```
   {
       "repositoryName": "MyDemoRepo", 
       "triggers": [
           {
               "destinationArn": "arn:aws:sns:us-east-2:111122223333:MyCodeCommitTopic", 
               "branches": [
                   "main", 
                   "preprod"
               ], 
               "name": "MyFirstTrigger", 
               "customData": "", 
               "events": [
                   "all"
               ]
           }, 
           {
               "destinationArn": "arn:aws:lambda:us-east-2:111122223333:function:MyCodeCommitJSFunction", 
               "branches": [], 
               "name": "MyLambdaTrigger", 
               "events": [
                   "all"
               ]
           }  
       ]
   }
   ```

1. Dal terminale o dalla riga di comando, esegui il comando **put-repository-triggers**. Questo aggiorna i trigger per il repository ed elimina il trigger: *MyFirstTrigger*

   ```
   aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json
   ```

   Questo comando restituisce un ID di configurazione, simile al seguente:

   ```
   {
       "configurationId": "0123456-I-AM-AN-EXAMPLE"
   }
   ```
**Nota**  
Per eliminare tutti i trigger per un repository denominato *MyDemoRepo*, il tuo file JSON potrebbe essere simile a questo:  

   ```
   {
       "repositoryName": "MyDemoRepo",
       "triggers": []
   }
   ```