Korzystanie z elementów webhook Azure Container Registry

Rejestr kontenera platformy Azure przechowuje prywatne obrazy kontenerów platformy Docker i zarządza nimi podobnie, jak koncentrator platformy Docker przechowuje publiczne obrazy platformy Docker. Może również hostować repozytoria dla wykresów helm (wersja zapoznawcza), format pakowania do wdrażania aplikacji na platformie Kubernetes. Za pomocą elementów webhook można wyzwalać zdarzenia, gdy niektóre akcje mają miejsce w jednym z repozytoriów rejestru. Elementy webhook mogą reagować na zdarzenia na poziomie rejestru lub mogą być ograniczone do określonego tagu repozytorium. W przypadku rejestru replikowanego geograficznie każdy element webhook można skonfigurować tak, aby odpowiadał na zdarzenia w określonej replice regionalnej.

Punkt końcowy elementu webhook musi być publicznie dostępny z rejestru. Żądania elementu webhook rejestru można skonfigurować w celu uwierzytelnienia w zabezpieczonym punkcie końcowym.

Aby uzyskać szczegółowe informacje na temat żądań elementów webhook, zobacz Azure Container Registry dokumentacja schematu elementu webhook.

Wymagania wstępne

Tworzenie elementu webhook — Azure Portal

  1. Zaloguj się do Azure portal.
  2. Przejdź do rejestru kontenerów, w którym chcesz utworzyć element webhook.
  3. W obszarze Usługi wybierz pozycję Elementy webhook.
  4. Wybierz pozycję Dodaj na pasku narzędzi elementu webhook.
  5. Wypełnij formularz Tworzenie elementu webhook , korzystając z następujących informacji:
Wartość Opis
Nazwa elementu webhook Nazwa, którą chcesz nadać elementowi webhook. Może zawierać tylko litery i cyfry i musi mieć długość od 5 do 50 znaków.
Lokalizacja W przypadku rejestru replikowanego geograficznie określ region platformy Azure repliki rejestru.
Identyfikator URI usługi Identyfikator URI, w którym element webhook powinien wysyłać powiadomienia POST.
Nagłówki niestandardowe Nagłówki, które chcesz przekazać wraz z żądaniem POST. Powinny one być w formacie "klucz: wartość".
Akcje wyzwalacza Akcje wyzwalające element webhook. Akcje obejmują wypychanie obrazu, usuwanie obrazu, wypychanie wykresu helm, usuwanie wykresu helm i kwarantannę obrazu. Możesz wybrać jedną lub więcej akcji, aby wyzwolić element webhook.
Stan Stan elementu webhook po jego utworzeniu. Jest ona domyślnie włączona.
Zakres Zakres, w którym działa element webhook. Jeśli nie zostanie określony, zakres dotyczy wszystkich zdarzeń w rejestrze. Można go określić dla repozytorium lub tagu przy użyciu formatu "repository:tag" lub "repository:*" dla wszystkich tagów w repozytorium.

Przykładowy formularz elementu webhook:

Zrzut ekranu przedstawiający tworzenie elementu webhook usługi ACR w Azure Portal.

Tworzenie elementu webhook — interfejs wiersza polecenia platformy Azure

Aby utworzyć element webhook przy użyciu interfejsu wiersza polecenia platformy Azure, użyj polecenia az acr webhook create . Następujące polecenie tworzy element webhook dla wszystkich zdarzeń usuwania obrazów w rejestrze mycontainerregistry:

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

Testowanie elementu webhook

Azure Portal

Przed użyciem elementu webhook możesz przetestować go za pomocą przycisku Ping . Polecenie Ping wysyła ogólne żądanie POST do określonego punktu końcowego i rejestruje odpowiedź. Użycie funkcji ping może ułatwić sprawdzenie, czy element webhook został poprawnie skonfigurowany.

  1. Wybierz element webhook, który chcesz przetestować.
  2. Na górnym pasku narzędzi wybierz pozycję Ping.
  3. Sprawdź odpowiedź punktu końcowego w kolumnie STAN PROTOKOŁU HTTP .

Interfejs użytkownika tworzenia elementu webhook usługi ACR w Azure Portal

Interfejs wiersza polecenia platformy Azure

Aby przetestować element webhook usługi ACR za pomocą interfejsu wiersza polecenia platformy Azure, użyj polecenia az acr webhook ping .

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

Aby wyświetlić wyniki, użyj polecenia az acr webhook list-events .

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

Usuwanie elementu webhook

Azure Portal

Każdy element webhook można usunąć, wybierając element webhook, a następnie przycisk Usuń w Azure Portal.

Interfejs wiersza polecenia platformy Azure

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

Następne kroki

Dokumentacja schematu elementu webhook

Aby uzyskać szczegółowe informacje na temat formatu i właściwości ładunków zdarzeń JSON emitowanych przez Azure Container Registry, zobacz dokumentację schematu elementu webhook:

dokumentacja schematu elementu webhook Azure Container Registry

Zdarzenia usługi Event Grid

Oprócz natywnych zdarzeń elementu webhook rejestru omówionego w tym artykule Azure Container Registry mogą emitować zdarzenia do usługi Event Grid:

Szybki start: wysyłanie zdarzeń rejestru kontenerów do usługi Event Grid