Webhooks de Azure Container Registry
Un registro de contenedor de Azure almacena y administra imágenes privadas de contenedor de Docker, de una forma similar a la que Docker Hub almacena imágenes públicas. También puede hospedar repositorios para gráficos de Helm (versión preliminar), un formato de empaquetado para implementar aplicaciones en Kubernetes. Puede usar webhooks para desencadenar eventos cuando determinadas acciones tienen lugar en uno de los repositorios de registro. Los webhooks pueden responder a eventos en el nivel de registro o pueden limitarse a una etiqueta de repositorio específica. Con un registro con replicación geográfica, puede configurar cada webhook para responder a eventos en una réplica regional específica.
El punto de conexión de un webhook debe ser accesible públicamente desde el registro. Puede configurar solicitudes de webhook del registro para autenticarse en un punto de conexión protegido.
Para obtener información detallada sobre las solicitudes de webhook, consulte Referencia de esquema de webhook de Azure Container Registry.
Prerrequisitos
- Registro de contenedor de Azure: cree un registro de contenedor en la suscripción de Azure. Por ejemplo, use Azure Portal o la CLI de Azure. Los niveles de servicio de Azure Container Registry tienen distintas cuotas de webhooks.
- CLI de docker: para configurar el equipo local como un host de Docker y tener acceso a los comandos de la CLI de Docker, instale Docker Engine.
Creación de webhooks: Azure Portal
- Inicie sesión en Azure Portal.
- Vaya al registro de contenedor en el que desea crear un webhook.
- En Servicios, seleccione Webhooks.
- Seleccione Agregar en la barra de herramientas del webhook.
- Complete el formulario Crear webhook con la siguiente información:
Value | Descripción |
---|---|
Nombre de webhook | El nombre que desea dar al webhook. Solo puede contener letras y números, y su longitud debe oscilar entre 5 y 50 caracteres. |
Location | Para un registro con replicación geográfica, especifique la región de Azure de la réplica del registro. |
URI de servicio | El identificador URI donde el webhook debe enviar notificaciones POST. |
Encabezados personalizados | Los encabezados que van a pasar junto con la solicitud POST. Deben tener el formato "clave: valor". |
Acciones de desencadenador | Acciones que desencadenan el webhook. Las acciones incluyen insertar y eliminar imágenes, insertar y eliminar gráficos de Helm, y poner imágenes en cuarentena. Puede elegir una o varias acciones para desencadenar el webhook. |
Status | El estado del webhook después de su creación. Esto está habilitada de manera predeterminada. |
Ámbito | El ámbito en el que trabaja el webhook. Si no se especifica, el ámbito sirve para todos los eventos del registro. Se puede especificar para un repositorio o una etiqueta con el formato "repositorio:etiqueta"o "repositorio:*" para todas las etiquetas de un repositorio. |
Formulario de webhook de ejemplo:
Creación de webhooks: CLI de Azure
Para crear un webhook mediante la CLI de Azure, use el comando az acr webhook create. El siguiente comando crea un webhook para los eventos de eliminación de imágenes en el registro mycontainerregistry:
az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com
Webhook de prueba
Azure Portal
Antes de usar el webhook, puede probarlo con el botón Ping. El comando Ping envía una solicitud POST genérica al punto de conexión especificado y registra la respuesta. Mediante la característica de ping puede comprobar que ha configurado correctamente el webhook.
- Seleccione el webhook que desea probar.
- En la barra de herramientas superior, seleccione Ping.
- Compruebe la respuesta del punto de conexión en la columna ESTADO HTTP.
Azure CLI
Para probar un webhook de ACR con la CLI de Azure, use el comando az acr webhook ping.
az acr webhook ping --registry mycontainerregistry --name myacrwebhook01
Para ver los resultados, use el comando az acr webhook list-events.
az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01
Eliminación del webhook
Azure Portal
Se puede eliminar cada webhook seleccionando uno y, después, con el botón Eliminar en Azure Portal.
Azure CLI
az acr webhook delete --registry mycontainerregistry --name myacrwebhook01
Pasos siguientes
Referencia del esquema de webhook
Para más información sobre el formato y las propiedades de las cargas del evento JSON emitidas por Azure Container Registry, consulte la referencia del esquema de webhook:
Referencia de esquema de webhook de Azure Container Registry
Eventos de Event Grid
Además de los eventos de webhook de registro nativos descritos en este artículo, Azure Container Registry puede emitir eventos a Event Grid:
Inicio rápido: Envío de eventos del registro de contenedor a Event Grid