Použití webhooků Azure Container Registry

Registr kontejnerů Azure ukládá a spravuje privátní image kontejnerů Dockeru, podobně jako Docker Hub ukládá veřejné image Dockeru. Může také hostovat úložiště pro charty Helm (Preview), formát balení pro nasazení aplikací do Kubernetes. Webhooky můžete použít k aktivaci událostí, když se určité akce provádějí v jednom z úložišť registru. Webhooky můžou reagovat na události na úrovni registru nebo můžou být omezené na konkrétní značku úložiště. U geograficky replikovaného registru nakonfigurujete každý webhook tak, aby reagoval na události v konkrétní regionální replice.

Koncový bod webhooku musí být veřejně přístupný z registru. Můžete nakonfigurovat požadavky na webhook registru pro autentizaci u zabezpečeného koncového bodu.

Podrobnosti o požadavcích webhooku najdete v referenčních informacích ke schématu webhooku služby Azure Container Registry.

Prerequisites

Vytvoření webhooku – Azure Portal

  1. Přihlaste se do Azure Portalu.
  2. Přejděte do registru kontejneru, ve kterém chcete vytvořit webhook.
  3. V části Služby vyberte Webhooky.
  4. Na panelu nástrojů webhooku vyberte Přidat .
  5. Vyplňte formulář Vytvořit webhook s následujícími informacemi:
Value Description
Název webhooku Název, který chcete dát webhooku. Může obsahovat pouze písmena a číslice a musí mít délku 5 až 50 znaků.
Location Pro geograficky replikovaný registr zadejte oblast Azure repliky registru.
URI služby Identifikátor URI, do kterého by měl webhook odesílat oznámení POST.
Vlastní hlavičky Hlavičky, které chcete předat spolu s požadavkem POST. Měly by být ve formátu klíč: hodnota.
Akce triggeru Akce, které aktivují webhook Mezi akce patří vložení obrázku, odstranění obrázku, vložení grafu Helm, odstranění grafu Helm a karanténa obrázků. Můžete zvolit jednu nebo více akcí pro aktivaci webhooku.
Status Stav webhooku po jeho vytvoření Ve výchozím nastavení je povolená.
Scope Obor, ve kterém webhook funguje. Pokud není specifikován, rozsah platí pro všechny události v registru. Dá se zadat pro úložiště nebo značku pomocí formátu "repository:tag" nebo "repository:*" pro všechny značky v úložišti.

Příklad formuláře webhooku:

Snímek obrazovky znázorňující vytvoření webhooku ACR na webu Azure Portal

Vytvoření webhooku – Azure CLI

Pokud chcete vytvořit webhook pomocí Azure CLI, použijte příkaz az acr webhook create . Následující příkaz vytvoří webhook pro všechny události odstranění image v registru mycontainerregistry:

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

Test webhooku

Azure Portal

Před použitím webhooku ho můžete otestovat pomocí tlačítka Ping . Příkaz Ping odešle generický požadavek POST na zadaný koncový bod a zaznamená odpověď. Pomocí funkce ping můžete ověřit, že jste webhook správně nakonfigurovali.

  1. Vyberte webhook, který chcete otestovat.
  2. Na horním panelu nástrojů vyberte Ping.
  3. Zkontrolujte odpověď koncového bodu ve sloupci HTTP STATUS .

Uživatelské rozhraní pro vytvoření webhooku ACR na webu Azure Portal

Azure CLI

K otestování webhooku ACR pomocí Azure CLI použijte příkaz ping az acr webhook .

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

Pokud chcete zobrazit výsledky, použijte příkaz az acr webhook list-events .

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

Odstranění webhooku

Azure Portal

Každý webhook lze odstranit výběrem webhooku a následným tlačítkem Odstranit na webu Azure Portal.

Azure CLI

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

Další kroky

Přehled schématu Webhooku

Podrobnosti o formátu a vlastnostech datových částí událostí JSON vygenerovaných službou Azure Container Registry najdete v referenčních informacích ke schématu webhooku:

Referenční informace ke schématu webhooku služby Azure Container Registry

Události Event Gridu

Kromě událostí webhooku nativního registru, které jsou popsány v tomto článku, může služba Azure Container Registry generovat události do event Gridu:

Rychlý start: Odesílání událostí registru kontejneru do Event Gridu