Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Crea un esempio di notifiche per CodeBuild

Modalità Focus

In questa pagina

Crea un esempio di notifiche per CodeBuild - AWS CodeBuild

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

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

Amazon CloudWatch Events dispone di un supporto integrato per AWS CodeBuild. CloudWatch Events è un flusso di eventi di sistema che descrive i cambiamenti nelle tue AWS risorse. Con CloudWatch Events, scrivi regole dichiarative per associare gli eventi di interesse alle azioni automatiche da intraprendere. Questo esempio utilizza Amazon CloudWatch Events e Amazon Simple Notification Service (AmazonSNS) per inviare notifiche di build agli abbonati ogni volta che le build hanno successo, falliscono, passano da una fase di compilazione all'altra o qualsiasi combinazione di questi eventi.

Importante

L'esecuzione di questo esempio potrebbe comportare addebiti sul tuo AWS account. Questi includono eventuali addebiti per CodeBuild e per AWS risorse e azioni relative ad Amazon CloudWatch e AmazonSNS. Per ulteriori informazioni, consulta CodeBuild i prezzi, i CloudWatch prezzi di Amazon e SNSi prezzi di Amazon.

Esegui l'esempio di notifiche di compilazione

Utilizza la procedura seguente per eseguire l'esempio di notifiche di compilazione.

Per eseguire questo esempio
  1. Se hai già impostato e sottoscritto un argomento su Amazon SNS che desideri utilizzare per questo esempio, vai avanti al passaggio 4. Altrimenti, se utilizzi un IAM utente anziché un account AWS root o un utente amministratore per lavorare con AmazonSNS, aggiungi la seguente dichiarazione (tra ### BEGIN ADDING STATEMENT HERE ### e ### END ADDING STATEMENT HERE ###) all'utente (o al IAM gruppo a cui l'utente è associato). L'uso di un account AWS root non è consigliato. Questa dichiarazione consente di visualizzare, creare, sottoscrivere e testare l'invio di notifiche agli argomenti in AmazonSNS. Le ellissi (...) vengono utilizzate per brevità e per aiutare i clienti a individuare il punto in cui aggiungere l'istruzione. Non rimuovere nessuna istruzione e non digitare queste ellissi nella policy esistente.

    { "Statement": [ ### BEGIN ADDING STATEMENT HERE ### { "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:List*", "sns:Publish", "sns:SetTopicAttributes", "sns:Subscribe" ], "Resource": "*", "Effect": "Allow" }, ### END ADDING STATEMENT HERE ### ... ], "Version": "2012-10-17" }
    Nota

    L'IAMentità che modifica questa politica deve avere l'autorizzazione IAM a modificare le politiche.

    Per ulteriori informazioni, consulta Modifica delle politiche gestite dai clienti o la sezione «Per modificare o eliminare una politica in linea per un gruppo, un utente o un ruolo» in Utilizzo delle politiche in linea (console) nella Guida per l'IAMutente.

  2. Crea o identifica un argomento in AmazonSNS. AWS CodeBuild utilizza CloudWatch Events per inviare notifiche di build su questo argomento tramite AmazonSNS.

    Per creare un argomento:

    1. Apri la SNS console Amazon all'indirizzo https://console.aws.amazon.com/sns.

    2. Scegli Create topic (Crea argomento).

    3. In Create new topic (Crea nuovo argomento) per Topic name (Nome argomento), digitare un nome per l'argomento, ad esempio CodeBuildDemoTopic. (Se si sceglie un nome diverso, sostituirlo in tutto il campione).

    4. Scegli Create topic (Crea argomento).

    5. Nella CodeBuildDemoTopic pagina Dettagli dell'argomento:, copia il valore Argomento ARN. che servirà per la fase successiva.

      Il ARN valore Topic.

    Per ulteriori informazioni, consulta Creare un argomento nella Amazon SNS Developer Guide.

  3. Abbonare uno o più destinatari all'argomento per ricevere notifiche e-mail.

    Per sottoscrivere un destinatario a un argomento:

    1. Con la SNS console Amazon aperta dal passaggio precedente, nel riquadro di navigazione, scegli Abbonamenti, quindi scegli Crea abbonamento.

    2. In Crea abbonamento, per Argomento ARN, incolla l'argomento ARN che hai copiato dal passaggio precedente.

    3. Per Protocollo, scegli E-mail.

    4. Per Endpoint, immettere l'indirizzo e-mail completo del destinatario.

      La configurazione dell'abbonamento.

    5. Selezionare Create Subscription (Crea abbonamento).

    6. Amazon SNS invia un'e-mail di conferma dell'abbonamento al destinatario. Per iniziare a ricevere le notifiche e-mail, il destinatario deve selezionare il link Confirm subscription (Conferma abbonamento) nell'e-mail di conferma dell'abbonamento. Dopo che il destinatario ha fatto clic sul link, se l'iscrizione è avvenuta correttamente, Amazon SNS visualizza un messaggio di conferma nel browser Web del destinatario.

    Per ulteriori informazioni, consulta Abbonarsi a un argomento nell'Amazon SNS Developer Guide.

  4. Se utilizzi un utente anziché un account AWS root o un utente amministratore per lavorare con CloudWatch Events, aggiungi la seguente istruzione (tra ### BEGIN ADDING STATEMENT HERE ### e ### END ADDING STATEMENT HERE ###) all'utente (o al IAM gruppo a cui l'utente è associato). L'uso di un account AWS root non è consigliato. Questa istruzione viene utilizzata per consentire all'utente di lavorare con CloudWatch Events. Le ellissi (...) vengono utilizzate per brevità e per aiutare i clienti a individuare il punto in cui aggiungere l'istruzione. Non rimuovere nessuna istruzione e non digitare queste ellissi nella policy esistente.

    { "Statement": [ ### BEGIN ADDING STATEMENT HERE ### { "Action": [ "events:*", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }, ### END ADDING STATEMENT HERE ### ... ], "Version": "2012-10-17" }
    Nota

    L'IAMentità che modifica questa politica deve avere l'autorizzazione IAM a modificare le politiche.

    Per ulteriori informazioni, consulta Modifica delle politiche gestite dai clienti o la sezione «Per modificare o eliminare una politica in linea per un gruppo, un utente o un ruolo» in Utilizzo delle politiche in linea (console) nella Guida per l'IAMutente.

  5. Crea una regola in CloudWatch Eventi. Per fare ciò, apri la CloudWatch console, in https://console.aws.amazon.com/cloudwatch.

  6. Nel riquadro di navigazione, in Events (Eventi), selezionare Rules (Regolamento), quindi Create rule (Crea regolamento).

  7. Nella pagina Step 1: Create rule (Fase 1: Creare regolamento), dovrebbero già essere selezionate le opzioni Event Pattern (Modello evento) e Build event pattern to match events by service (Crea un modello evento da abbinare agli eventi in base al servizio).

  8. Per Service Name (Nome del servizio), selezionare CodeBuild. Per Event Type (Tipo di evento), All Events (Tutti gli eventi) dovrebbe già essere selezionato.

  9. Il codice seguente deve essere visualizzato nell'anteprima del modello di evento:

    { "source": [ "aws.codebuild" ] }
  10. Scegliete Modifica e sostituite il codice in Event Pattern Preview con uno dei due modelli di regole seguenti.

    Il primo modello di regola attiva un evento quando una compilazione viene avviata o completata, per i progetti di compilazione specificati in AWS CodeBuild.

    { "source": [ "aws.codebuild" ], "detail-type": [ "CodeBuild Build State Change" ], "detail": { "build-status": [ "IN_PROGRESS", "SUCCEEDED", "FAILED", "STOPPED" ], "project-name": [ "my-demo-project-1", "my-demo-project-2" ] } }

    Nella regola precedente, eseguire le modifiche al codice seguente laddove necessario.

    • Per attivare un evento quando una compilazione viene avviata o completata, lasciare tutti i valori come illustrato nell'array build-status oppure rimuovere completamente l'array build-status.

    • Per attivare un evento solo quando una compilazione viene completata, rimuovere IN_PROGRESS dall'array build-status.

    • Per attivare un evento solo quando una compilazione viene avviata, rimuovere tutti i valori eccetto IN_PROGRESS dall'array build-status.

    • Per attivare gli eventi per tutti i progetti di compilazione, rimuovere completamente l'array project-name.

    • Per attivare gli eventi solo per singoli progetti di compilazione, specificare il nome di ciascun progetto di compilazione nell'array project-name.

    Il secondo modello di regola attiva un evento ogni volta che una compilazione si sposta da una fase di compilazione a un'altra, per i progetti di compilazione specificati in AWS CodeBuild.

    { "source": [ "aws.codebuild" ], "detail-type": [ "CodeBuild Build Phase Change" ], "detail": { "completed-phase": [ "SUBMITTED", "PROVISIONING", "DOWNLOAD_SOURCE", "INSTALL", "PRE_BUILD", "BUILD", "POST_BUILD", "UPLOAD_ARTIFACTS", "FINALIZING" ], "completed-phase-status": [ "TIMED_OUT", "STOPPED", "FAILED", "SUCCEEDED", "FAULT", "CLIENT_ERROR" ], "project-name": [ "my-demo-project-1", "my-demo-project-2" ] } }

    Nella regola precedente, eseguire le modifiche al codice seguente laddove necessario.

    • Per attivare un evento per ogni modifica della fase di compilazione (che può inviare fino a nove notifiche per ogni compilazione), lasciare tutti i valori come illustrato nell'array completed-phase oppure rimuovere completamente l'array completed-phase.

    • Per attivare gli eventi solo per le singole modifiche della fase di compilazione, rimuovere il nome di ciascun progetto di compilazione nell'array completed-phase per cui non si desidera attivare un evento.

    • Per attivare un evento per ogni modifica dello stato della fase di compilazione, lasciare tutti i valori come illustrato nell'array completed-phase-status oppure rimuovere completamente l'array completed-phase-status.

    • Per attivare gli eventi solo per le singole modifiche dello stato della fase di compilazione, rimuovere il nome di ciascuno stato della fase di compilazione nell'array completed-phase-status per cui non si desidera attivare un evento.

    • Per attivare gli eventi per tutti i progetti di compilazione, rimuovi l'array project-name.

    • Per attivare gli eventi per i singoli progetti di compilazione, specificare il nome di ciascun progetto di compilazione nell'array project-name.

    Per ulteriori informazioni sui pattern di eventi, consulta Event Patterns nella Amazon EventBridge User Guide.

    Per ulteriori informazioni sul filtraggio con pattern di eventi, consulta Content-based Filtering with Event Patterns nella Amazon EventBridge User Guide.

    Nota

    Se si desidera attivare gli eventi sia per le modifiche dello stato della compilazione che per le modifiche della fase di compilazione, è necessario creare due regole separate, una per le modifiche dello stato della compilazione e l'altra per le modifiche della fase di compilazione. Se si tenta di combinare entrambe le regole in una singola regola, la regola combinata potrebbe produrre risultati imprevisti o smettere di funzionare del tutto.

    Al termine della sostituzione del codice, selezionare Save (Salva).

  11. In Targets (Destinazioni), seleziona Add target (Aggiungi destinazione).

  12. Nell'elenco degli obiettivi, scegli l'argomento. SNS

  13. Per Argomento, selezionare l'argomento identificato o creato in precedenza.

  14. Espandere Configure input (Configura input), quindi selezionare Input Transformer (Trasformatore di input).

  15. Nella casella Input Path (Percorso dell'input), immettere uno dei seguenti percorsi di input.

    Per una regola con il valore CodeBuild Build State Change per detail-type, immettere quanto segue.

    {"build-id":"$.detail.build-id","project-name":"$.detail.project-name","build-status":"$.detail.build-status"}

    Per una regola con il valore CodeBuild Build Phase Change per detail-type, immettere quanto segue.

    {"build-id":"$.detail.build-id","project-name":"$.detail.project-name","completed-phase":"$.detail.completed-phase","completed-phase-status":"$.detail.completed-phase-status"}

    Per ottenere altri tipi di informazioni, consultare Informazioni di riferimento sul formato di input delle notifiche di compilazione.

  16. Nella casella Input Template (Modello dell'input), immettere uno dei seguenti modelli di input.

    Per una regola con il valore CodeBuild Build State Change per detail-type, immettere quanto segue.

    "Build '<build-id>' for build project '<project-name>' has reached the build status of '<build-status>'."

    Per una regola con il valore CodeBuild Build Phase Change per detail-type, immettere quanto segue.

    "Build '<build-id>' for build project '<project-name>' has completed the build phase of '<completed-phase>' with a status of '<completed-phase-status>'."
  17. Scegli Configura dettagli.

  18. Nella pagina Step 2: Configure rule details (Fase 2: Configurare i dettagli della regola), immettere un nome e una descrizione facoltativa. Per State (Stato), lasciare l'opzione Enabled (Abilitato) selezionata.

  19. Scegli Crea regola.

  20. Crea progetti di compilazione, esegui le build e visualizza le informazioni sulle build.

  21. Conferma che CodeBuild ora le notifiche di build sono state inviate correttamente. Ad esempio, verificare se le e-mail di notifica di compilazione si trovano nella casella di posta.

Per modificare il comportamento di una regola, nella CloudWatch console, scegli la regola che desideri modificare, scegli Azioni e quindi scegli Modifica. Apportare le modifiche alla regola, scegliere Configure details (Configura dettagli) e quindi selezionare Update rule (Aggiorna regola).

Per smettere di usare una regola per inviare notifiche di build, nella CloudWatch console, scegli la regola che vuoi smettere di usare, scegli Azioni e quindi scegli Disabilita.

Per eliminare completamente una regola, nella CloudWatch console, scegli la regola che desideri eliminare, scegli Azioni, quindi scegli Elimina.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.