Dela via


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 i en av dina registerlagringsplatser. 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 för att svara 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 webhooksbegäranden för registret för att autentisera till en säker slutpunkt.

Mer information om webhook-begäranden finns i Schemareferens för Azure Container Registry webhook.

Förutsättningar

Skapa webhook – Azure Portal

  1. Logga in på Azure-portalen.
  2. Navigera till containerregistret där du vill skapa en webhook.
  3. Under Tjänster väljer du Webhooks.
  4. Välj Lägg till i verktygsfältet webhook.
  5. Fyll i formuläret Skapa webhook med följande information:
Värde beskrivning
Webhook-namn Namnet som du vill ge webhooken. Den får endast innehålla bokstäver och siffror och måste vara 5–50 tecken långa.
Plats För ett geo-replikerat register anger du Azure-regionen för registerrepliken.
Tjänst-URI Den URI där webhooken ska skicka POST-meddelanden.
Custom headers Rubriker som du vill skicka tillsammans med POST-begäran. De ska 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, Helm-diagramborttagning och bildkarantä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. Som standard är den aktiverad.
Omfattning Det omfång som webhooken fungerar med. Om det inte anges gäller omfånget för alla händelser i registret. Det kan anges för en lagringsplats eller en tagg med formatet "repository:tag" eller "repository:*" för alla taggar under en lagringsplats.

Exempel på webhookformulär:

Skärmbild som visar hur ACR webhook 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 hjälp av pingfunktionen kan du kontrollera att du har konfigurerat webhooken korrekt.

  1. Välj den webhook som du vill testa.
  2. I det övre verktygsfältet väljer du Pinga.
  3. Kontrollera slutpunktens svar i kolumnen HTTP STATUS .

Användargränssnitt 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:

Schemareferens för Azure Container Registry

Event Grid-händelser

Utöver de interna webhookshändelserna för 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