Uso dei webhook di Registro Azure Container

Un Registro Azure Container archivia e gestisce le immagini dei contenitori Docker private, in modo analogo a come Docker Hub archivia le immagini Docker pubbliche. Può anche ospitare repository per grafici Helm (anteprima), un formato di creazione di pacchetti per la distribuzione di applicazioni in Kubernetes. È possibile usare i webhook per attivare eventi specifici quando in uno dei repository del registro si verificano determinate azioni. I webhook possono rispondere agli eventi a livello di registro oppure possono essere limitati a un tag di repository specifico. Con un registro di replica geografica, ogni webhook viene configurato per rispondere agli eventi in una replica a livello di area specifica.

L'endpoint per un webhook deve essere accessibile pubblicamente dal registro. È possibile configurare le richieste webhook del registro per l'autenticazione a un endpoint protetto.

Per informazioni dettagliate sulle richieste di webhook, vedere le informazioni di riferimento sullo schema del webhook di Registro Azure Container.

Prerequisiti

Creare un webhook - Portale di Azure

  1. Accedere al portale di Azure.
  2. Passare al registro contenitori in cui si intende creare un webhook.
  3. In Servizi selezionare Webhook.
  4. Selezionare Aggiungi nella barra degli strumenti relativa al webhook.
  5. Completare il modulo Crea webhook con le informazioni seguenti:
Valore Descrizione
Nome webhook Il nome da assegnare al webhook. Può contenere solo lettere e numeri e deve avere una lunghezza di 5-50 caratteri.
Ufficio Per un registro di replica geografica , specificare l'area di Azure della replica del registro.
URI del servizio L'URI in cui il webhook deve inviare le notifiche POST.
Custom headers Le intestazioni che si vuole passare insieme alla richiesta POST. Devono essere nel formato "chiave: valore".
Azioni trigger Le azioni che attivano il webhook. Le azioni includono push dell'immagine, eliminazione di immagini, push del grafico Helm, eliminazione del grafico Helm e quarantena delle immagini. È possibile scegliere una o più azioni per attivare il webhook.
Status Lo stato del webhook dopo che è stato creato. È abilitata per impostazione predefinita.
Ambito L'ambito in cui viene applicato il webhook. Se non specificato, l'ambito comprende tutti gli eventi del registro. Può essere specificato per un repository o un tag usando il formato "repository:tag" o "repository:*" per tutti i tag in un repository.

Modulo di webhook di esempio:

Screenshot che mostra l'interfaccia utente per la creazione di webhook del Registro Azure Container nel portale di Azure.

Creare un webhook - Interfaccia della riga di comando di Azure

Per creare un webhook usando l'interfaccia della riga di comando di Azure, usare il comando az acr webhook create. Il comando seguente crea un webhook per tutti gli eventi di eliminazione di immagini nel registro mycontainerregistry:

az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com

Testare un webhook

Azure portal

Prima di usare il webhook, è possibile testarlo con il pulsante Ping. Il comando Ping invia una richiesta POST generica all'endpoint specificato e registra la risposta. L'uso del comando Ping consente di verificare se la configurazione del webhook è corretta.

  1. Selezionare il webhook da testare.
  2. Nella barra degli strumenti superiore selezionare l'azione Ping.
  3. Controllare la risposta dell'endpoint nella colonna Stato HTTP.

Interfaccia utente per la creazione di webhook di Registro Azure Container nel portale di Azure

Interfaccia della riga di comando di Azure

Per testare un webhook di Registro Azure Container con l'interfaccia della riga di comando di Azure, usare il comando az acr webhook ping.

az acr webhook ping --registry mycontainerregistry --name myacrwebhook01

Per visualizzare i risultati, usare il comando az acr webhook list-events.

az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01

Eliminare un webhook

Azure portal

Per eliminare un webhook, è possibile selezionarlo e usare il pulsante Elimina nel portale di Azure.

Interfaccia della riga di comando di Azure

az acr webhook delete --registry mycontainerregistry --name myacrwebhook01

Passaggi successivi

Informazioni di riferimento per lo schema di webhook

Per informazioni dettagliate sul formato e sulle proprietà dei payload degli eventi JSON generati da Registro Azure Container, vedere le informazioni di riferimento per lo schema di webhook:

Informazioni di riferimento sullo schema del webhook di Registro Azure Container

Eventi di Griglia di eventi

Oltre agli eventi di webhook del registro nativo descritti in questo articolo, Registro Azure Container può trasmettere eventi a Griglia di eventi:

Guida introduttiva: inviare eventi del registro contenitori a Griglia di eventi