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
- Azure-containerregister – Skapa ett containerregister i din Azure-prenumeration. Använd till exempel Azure Portal eller Azure CLI. Azure Container Registry-tjänstnivåerna har olika webhooks-kvoter.
- Docker CLI – Installera Docker Engine om du vill konfigurera den lokala datorn som Docker-värd och komma åt Docker CLI-kommandona.
Skapa webhook – Azure Portal
- Logga in på Azure-portalen.
- Navigera till containerregistret där du vill skapa en webhook.
- Under Tjänster väljer du Webhooks.
- Välj Lägg till i verktygsfältet webhook.
- 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:
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.
- Välj den webhook som du vill testa.
- I det övre verktygsfältet väljer du Pinga.
- Kontrollera slutpunktens svar i kolumnen HTTP STATUS .
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