Uso dei webhook del Registro contenitori di AzureUsing Azure Container Registry webhooks

Un registro contenitori di Azure archivia e gestisce le immagini dei contenitori Docker private, in modo analogo a come Docker Hub archivia le immagini Docker pubbliche.An Azure container registry stores and manages private Docker container images, similar to the way Docker Hub stores public Docker images. È possibile usare i webhook per attivare eventi specifici quando in uno dei repository del registro si verificano determinate azioni.You can use webhooks to trigger events when certain actions take place in one of your registry repositories. I webhook possono rispondere agli eventi a livello di registro oppure possono essere limitati a un tag di repository specifico.Webhooks can respond to events at the registry level, or they can be scoped down to a specific repository tag.

Per informazioni dettagliate sulle richieste di webhook, vedere le informazioni di riferimento sullo schema del webhook del registro contenitori di Azure.For details on webhook requests, see Azure Container Registry webhook schema reference.

PrerequisitiPrerequisites

  • Registro di contenitori di Azure: creare un registro di contenitori nella sottoscrizione di Azure.Azure container registry - Create a container registry in your Azure subscription. Ad esempio usare il portale di Azure oppure l'interfaccia della riga di comando di Azure.For example, use the Azure portal or the Azure CLI.
  • 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.Docker CLI - To set up your local computer as a Docker host and access the Docker CLI commands, install Docker Engine.

Creare un webhook tramite il portale di AzureCreate webhook Azure portal

  1. Accedere al portale di AzureSign in to the Azure portal
  2. Passare al registro contenitori in cui si intende creare un webhook.Navigate to the container registry in which you want to create a webhook.
  3. In Servizi selezionare Webhook.Under SERVICES, select Webhooks.
  4. Selezionare Aggiungi nella barra degli strumenti relativa al webhook.Select Add in the webhook toolbar.
  5. Completare il modulo Crea webhook con le informazioni seguenti:Complete the Create webhook form with the following information:
ValoreValue DescrizioneDescription
NomeName Il nome da assegnare al webhook.The name you want to give to the webhook. Può contenere solo caratteri minuscoli e numeri e deve avere una lunghezza di 5-50 caratteri.It may contain only lowercase letters and numbers, and must be 5-50 characters in length.
URI del servizioService URI L'URI in cui il webhook deve inviare le notifiche POST.The URI where the webhook should send POST notifications.
Intestazioni personalizzateCustom headers Le intestazioni che si vuole passare insieme alla richiesta POST.Headers you want to pass along with the POST request. Devono essere nel formato "chiave: valore".They should be in "key: value" format.
Azioni triggerTrigger actions Le azioni che attivano il webhook.Actions that trigger the webhook. Attualmente i webhook possono essere attivati tramite azioni di push e/o eliminazione di immagini.Webhooks can currently be triggered by image push and/or delete actions.
StatoStatus Lo stato del webhook dopo che è stato creato.The status for the webhook after it's created. Questa opzione è abilitata per impostazione predefinita.It's enabled by default.
ScopeScope L'ambito in cui viene applicato il webhook.The scope at which the webhook works. Per impostazione predefinita, l'ambito comprende tutti gli eventi del registro.By default, the scope is for all events in the registry. Può essere limitato a un repository o un tag usando il formato "repository:tag".It can be specified for a repository or a tag by using the format "repository:tag".

Modulo di webhook di esempio:Example webhook form:

Interfaccia utente per la creazione di webhook del Registro contenitori di Azure nel portale di Azure

Creare un webhook usando l'interfaccia della riga di comando di AzureCreate webhook Azure CLI

Per creare un webhook usando l'interfaccia della riga di comando di Azure, usare il comando az acr webhook create.To create a webhook using the Azure CLI, use the az acr webhook create command.

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

Testare un webhookTest webhook

Portale di AzureAzure portal

Prima di usare il webhook in azioni di push o eliminazione di un'immagine del contenitore, è possibile testarlo tramite il pulsante Ping.Prior to using the webhook on container image push and delete actions, you can test it with the Ping button. Il comando Ping invia una richiesta POST generica all'endpoint specificato e registra la risposta.Ping sends a generic POST request to the specified endpoint and logs the response. L'uso del comando Ping consente di verificare se la configurazione del webhook è corretta.Using the ping feature can help you verify you've correctly configured the webhook.

  1. Selezionare il webhook da testare.Select the webhook you want to test.
  2. Nella barra degli strumenti superiore selezionare l'azione Ping.In the top toolbar, select Ping.
  3. Controllare la risposta dell'endpoint nella colonna Stato HTTP.Check the endpoint's response in the HTTP STATUS column.

Interfaccia utente per la creazione di webhook del Registro contenitori di Azure nel portale di Azure

Interfaccia della riga di comando di AzureAzure CLI

Per testare un webhook del registro contenitori di Azure con l'interfaccia della riga di comando di Azure, usare il comando az acr webhook ping.To test an ACR webhook with the Azure CLI, use the az acr webhook ping command.

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

Per visualizzare i risultati, usare il comando az acr webhook list-events.To see the results, use the az acr webhook list-events command.

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

Eliminare un webhookDelete webhook

Portale di AzureAzure portal

Per eliminare un webhook, è possibile selezionarlo e usare il pulsante Elimina nel portale di Azure.Each webhook can be deleted by selecting the webhook and then the Delete button in the Azure portal.

Interfaccia della riga di comando di AzureAzure CLI

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

Passaggi successiviNext steps

Informazioni di riferimento sullo schema del webhook del registro contenitori di AzureAzure Container Registry webhook schema reference