Como usar webhooks do Registro de Contêiner do Azure
Um registro de contêiner do Azure armazena e gerencia imagens de contêiner privadas do Docker, de forma semelhante a como o Docker Hub armazena imagens públicas do Docker. Ele também pode hospedar repositórios para gráficos Helm (versão prévia), um formato de empacotamento para implantar aplicativos no Kubernetes. É possível usar webhooks para disparar eventos quando certas ações ocorrem em um dos repositórios do Registro. Webhooks podem responder a eventos no nível do registro ou podem ter o escopo reduzido para a marca de um repositório específico. Com um registro de replicação geográfica, você configura cada webhook para responder a eventos em uma réplica regional específica.
O ponto de extremidade para um webhook deve estar acessível publicamente no registro. Você pode configurar as solicitações de webhook do registro para autenticar em um ponto de extremidade protegido.
Para obter detalhes sobre solicitações de webhook, consulte Azure Container Registry webhook schema reference (Referência de esquema de webhook do Registro de Contêiner do Azure).
Pré-requisitos
- Registro de Contêiner do Azure – Crie um Registro de contêiner em sua assinatura do Azure. Por exemplo, use o Portal do Azure ou a CLI do Azure. As camadas de serviço do Registro de Contêiner do Azure têm cotas de webhooks diferentes.
- CLI do Docker – para configurar o computador local como um host do Docker e acessar os comandos da CLI do Docker, instale o Mecanismo do Docker.
Criar webhook – portal do Azure
- Entre no portal do Azure.
- Navegue até o Registro de contêiner no qual você deseja 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 você deseja dar ao webhook. Ele pode conter somente letras e números e deve ter de 5 a 50 caracteres de extensão. |
Location | Para um registro de replicação geográfica, especifique a região do Azure da réplica de registro. |
URI de serviço | O URI para que o webhook deveria enviar notificações POST. |
Cabeçalhos personalizados | Cabeçalhos que você deseja passar junto com a solicitação POST. Eles devem estar no formato "chave: valor". |
Ações de gatilho | Ações que disparam o webhook. As ações incluem push de imagem, exclusão de imagem, push de gráfico de Helm, exclusão de gráfico de Helm e quarentena de imagem. Você pode escolher uma ou mais ações para disparar o webhook. |
Status | O status do webhook depois que ele é criado. Ele é habilitado por padrão. |
Escopo | O escopo no qual o webhook funciona. Se não for especificado, o escopo incluirá todos os eventos no registro. Ele pode ser especificado para um repositório ou uma marca usando o formato "repository:tag" ou "repository:*" para todas as marcas em um repositório. |
Formulário de webhook de exemplo:
Criar webhook – CLI do Azure
Para criar um webhook usando a CLI do Azure, use o comando az acr webhook create. O comando a seguir cria um webhook para todos os eventos de exclusão de imagem no registro mycontainerregistry:
az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com
Testar webhook
Portal do Azure
Antes de usar o webhook, você pode testá-lo com o botão Ping. O ping envia uma solicitação POST genérica para o ponto de extremidade especificado e registra a resposta. Usar o recurso de ping pode ajudá-lo a verificar se você configurou corretamente o webhook.
- Selecione o webhook que você deseja testar.
- Na barra de ferramentas superior, selecione Ping.
- Verifique a resposta do ponto de extremidade na coluna STATUS HTTP.
CLI do Azure
Para testar um webhook ACR com a CLI do Azure, use o comando az acr webhook ping.
az acr webhook ping --registry mycontainerregistry --name myacrwebhook01
Para ver os resultados, use o comando az acr webhook list-events.
az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01
Excluir webhook
Portal do Azure
Cada webhook pode ser excluído selecionando-se o webhook e, em seguida, o botão Excluir no Portal do Azure.
CLI do Azure
az acr webhook delete --registry mycontainerregistry --name myacrwebhook01
Próximas etapas
Referência do esquema do Webhook
Para obter detalhes sobre o formato e propriedades das cargas do evento JSON emitidas pelo Registro de Contêiner do Azure, consulte a referência de esquema do webhook:
Referência de esquema de webhook do Registro de Contêiner do Azure
Eventos da Grade de Eventos
Além dos eventos do webhook do registro nativo discutidos neste artigo, o Registro de Contêiner do Azure pode emitir eventos para a Grade de Eventos:
Início Rápido: Enviar eventos de registro de contêiner para a Grade de Eventos