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
- Registro Azure Container: creare un registro di contenitori nella sottoscrizione di Azure. Ad esempio usare il portale di Azure oppure l'interfaccia della riga di comando di Azure. I livelli di servizio di Registro Azure Container hanno quote di Webhook differenti.
- Interfaccia della riga di comando di Docker: per configurare il computer locale come host Docker e accedere ai comandi della riga di comando di Docker, installare Docker Engine.
Creare un webhook - Portale di Azure
- Accedere al portale di Azure.
- Passare al registro contenitori in cui si intende creare un webhook.
- In Servizi selezionare Webhook.
- Selezionare Aggiungi nella barra degli strumenti relativa al webhook.
- 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:
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.
- Selezionare il webhook da testare.
- Nella barra degli strumenti superiore selezionare l'azione Ping.
- Controllare la risposta dell'endpoint nella colonna Stato HTTP.
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