Använda Azure Container Registry webhooks

Ett Azure-containerregister lagrar och hanterar privata Docker-containeravbildningar, på samma sätt som Docker Hub lagrar offentliga Docker-avbildningar. Den kan också vara värd för lagringsplatser för Helm-diagram (förhandsversion), ett paketeringsformat för att distribuera program till Kubernetes. Du kan använda webhooks för att utlösa händelser när vissa åtgärder utförs på en av dina registerdatabaser. Webhooks kan svara på händelser på registernivå, eller så kan de begränsas till en specifik lagringsplatstagg. Med ett geo-replikerat register konfigurerar du varje webhook så att den svarar på händelser i en specifik regional replik.

Slutpunkten för en webhook måste vara offentligt tillgänglig från registret. Du kan konfigurera webhook-begäranden för registret för att autentisera till en säker slutpunkt.

Mer information om webhook-begäranden finns i Azure Container Registry webhook-schemareferens.

Förutsättningar

Skapa webhook – Azure Portal

  1. Logga in på Azure-portalen.
  2. Gå till containerregistret där du vill skapa en webhook.
  3. Under Tjänster väljer du Webhooks.
  4. Välj Lägg till i webhookens verktygsfält.
  5. Fyll i formuläret Skapa webhook med följande information:
Värde Beskrivning
Webhook-namn Det namn som du vill ge webhooken. Den får bara innehålla bokstäver och siffror och måste vara mellan 5 och 50 tecken långt.
Location För ett geo-replikerat register anger du Azure-regionen för registerrepliken.
Tjänst-URI URI:n där webhooken ska skicka POST-meddelanden.
Anpassade rubriker Rubriker som du vill skicka tillsammans med POST-begäran. De bör ha formatet "key: value".
Utlösaråtgärder Åtgärder som utlöser webhooken. Åtgärderna omfattar push-överföring av bilder, bildborttagning, Helm-diagram-push, borttagning av Helm-diagram och avbildningskarantän. Du kan välja en eller flera åtgärder för att utlösa webhooken.
Status Status för webhooken när den har skapats. Det är aktiverat som standard.
Omfång Det omfång som webhooken fungerar med. Om inget anges gäller omfånget för alla händelser i registret. Den kan anges för en lagringsplats eller en tagg med formatet "repository:tag" eller "repository:*" för alla taggar under en lagringsplats.

Exempel på webhook-formulär:

Skärmbild som visar hur ACR-webhooken skapar U I i Azure Portal.

Skapa webhook – Azure CLI

Om du vill skapa en webhook med hjälp av Azure CLI använder du kommandot az acr webhook create . Följande kommando skapar en webhook för alla avbildningsborttagningshändelser i registret mycontainerregistry:

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

Testa webhook

Azure Portal

Innan du använder webhooken kan du testa den med ping-knappen . Ping skickar en allmän POST-begäran till den angivna slutpunkten och loggar svaret. Med pingfunktionen kan du kontrollera att webhooken har konfigurerats korrekt.

  1. Välj den webhook som du vill testa.
  2. Välj Ping i det översta verktygsfältet.
  3. Kontrollera slutpunktens svar i kolumnen HTTP STATUS .

Användargränssnittet för att skapa ACR-webhook i Azure Portal

Azure CLI

Om du vill testa en ACR-webhook med Azure CLI använder du kommandot az acr webhook ping .

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

Om du vill se resultatet använder du kommandot az acr webhook list-events .

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

Ta bort webhook

Azure Portal

Varje webhook kan tas bort genom att välja webhooken och sedan knappen Ta bort i Azure Portal.

Azure CLI

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

Nästa steg

Webhook-schemareferens

Mer information om formatet och egenskaperna för JSON-händelsenyttolaster som genereras av Azure Container Registry finns i webhook-schemareferensen:

Azure Container Registry webhook-schemareferens

Event Grid-händelser

Förutom de webhook-händelser i det interna registret som beskrivs i den här artikeln kan Azure Container Registry generera händelser till Event Grid:

Snabbstart: Skicka containerregisterhändelser till Event Grid