Utilizar webhooks Azure Container Registry
Os registos de contentores do Azure armazenam e gerem imagens de contentores do Docker privadas, de forma semelhante a como o Docker Hub armazena imagens do Docker públicas. Também pode alojar repositórios para gráficos Helm (pré-visualização), um formato de empacotamento para implementar aplicações no Kubernetes. Pode utilizar webhooks para acionar eventos quando determinadas ações ocorrem num dos seus repositórios de registo. Os webhooks podem responder a eventos ao nível do registo ou podem ser limitados a uma etiqueta de repositório específica. Com um registo georreplicado , configura cada webhook para responder a eventos numa réplica regional específica.
O ponto final de um webhook tem de estar acessível publicamente a partir do registo. Pode configurar pedidos de webhook de registo para autenticar num ponto final seguro.
Para obter detalhes sobre pedidos de webhook, veja Azure Container Registry referência de esquema de webhook.
Pré-requisitos
- Registo de contentores do Azure - crie um registos de contentores na sua subscrição do Azure. Por exemplo, utilize o portal do Azure ou a CLI do Azure. Os escalões de serviço Azure Container Registry têm quotas de webhooks diferentes.
- Docker CLI - para configurar o seu computador local como anfitrião Docker e aceder aos comandos da CLI do Docker, instale o Docker Engine.
Criar webhook - portal do Azure
- Inicie sessão no Portal do Azure.
- Navegue para o registo de contentor no qual pretende criar um webhook.
- Em Serviços, selecione Webhooks.
- Selecione Adicionar na barra de ferramentas do webhook.
- Preencha o formulário Criar webhook com as seguintes informações:
Valor | Descrição |
---|---|
Nome do webhook | O nome que pretende dar ao webhook. Pode conter apenas letras e números e tem de ter entre 5 e 50 carateres. |
Localização | Para um registo georreplicado , especifique a região do Azure da réplica do registo. |
URI do Serviço | O URI onde o webhook deve enviar notificações POST. |
Cabeçalhos personalizados | Cabeçalhos que pretende transmitir juntamente com o pedido POST. Devem estar no formato "chave: valor". |
Acionar ações | Ações que acionam o webhook. As ações incluem push de imagem, eliminação de imagem, push de gráfico Helm, eliminação de gráfico Helm e quarentena de imagem. Pode escolher uma ou mais ações para acionar o webhook. |
Estado | O estado do webhook depois de ser criado. Está ativado por predefinição. |
Âmbito | O âmbito no qual o webhook funciona. Se não for especificado, o âmbito destina-se a todos os eventos no registo. Pode ser especificado para um repositório ou uma etiqueta com o formato "repositório:tag" ou "repositório:*" para todas as etiquetas num repositório. |
Formulário de webhook de exemplo:
Criar webhook - CLI do Azure
Para criar um webhook com a CLI do Azure, utilize o comando az acr webhook create . O comando seguinte cria um webhook para todos os eventos de eliminação de imagens no registo mycontainerregistry:
az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com
Testar webhook
Portal do Azure
Antes de utilizar o webhook, pode testá-lo com o botão Ping . O Ping envia um pedido POST genérico para o ponto final especificado e regista a resposta. A utilização da funcionalidade ping pode ajudá-lo a verificar se configurou corretamente o webhook.
- Selecione o webhook que pretende testar.
- Na barra de ferramentas superior, selecione Ping.
- Verifique a resposta do ponto final na coluna ESTADO DE HTTP .
CLI do Azure
Para testar um webhook do ACR com a CLI do Azure, utilize o comando az acr webhook ping .
az acr webhook ping --registry mycontainerregistry --name myacrwebhook01
Para ver os resultados, utilize o comando az acr webhook list-events .
az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01
Eliminar webhook
Portal do Azure
Cada webhook pode ser eliminado ao selecionar o webhook e, em seguida, o botão Eliminar no portal do Azure.
CLI do Azure
az acr webhook delete --registry mycontainerregistry --name myacrwebhook01
Passos seguintes
Referência de esquema de webhook
Para obter detalhes sobre o formato e as propriedades dos payloads de eventos JSON emitidos por Azure Container Registry, veja a referência de esquema do webhook:
Azure Container Registry referência de esquema de webhook
Eventos do Event Grid
Além dos eventos nativos do webhook de registo abordados neste artigo, Azure Container Registry podem emitir eventos para o Event Grid:
Início Rápido: Enviar eventos do registo de contentor para o Event Grid