Dokumentacja elementu webhook usługi Azure Container Registry
Elementy webhook można skonfigurować dla rejestru kontenerów , które generują zdarzenia po wykonaniu określonych akcji. Na przykład włącz elementy webhook wyzwalane po wypchnięciu obrazu kontenera lub wykresu Helm do rejestru lub usunięcia. Po wyzwoleniu elementu webhook usługa Azure Container Registry wysyła żądanie HTTP lub HTTPS zawierające informacje o zdarzeniu do określonego punktu końcowego. Punkt końcowy może następnie przetworzyć element webhook i działać odpowiednio.
W poniższych sekcjach szczegółowo opisano schemat żądań elementu webhook generowanych przez obsługiwane zdarzenia. Sekcje zdarzenia zawierają schemat ładunku dla typu zdarzenia, przykładowy ładunek żądania i co najmniej jedno przykładowe polecenia, które wyzwoliłyby element webhook.
Aby uzyskać informacje na temat konfigurowania elementów webhook dla rejestru kontenerów platformy Azure, zobacz Using Azure Container Registry webhooks (Używanie elementów webhook usługi Azure Container Registry).
Żądania elementu webhook
Żądanie systemu HTTP
Wyzwalany element webhook wysyła żądanie HTTP POST
do punktu końcowego adresu URL określonego podczas konfigurowania elementu webhook.
Nagłówki HTTP
Żądania elementu webhook zawierają wartość , Content-Type
application/json
jeśli nie określono niestandardowego Content-Type
nagłówka elementu webhook.
Żadne inne nagłówki nie są dodawane do żądania poza nagłówkami niestandardowymi, które mogły zostać określone dla elementu webhook.
Zdarzenie wypychania
Element webhook został wyzwolony po wypchnięciu obrazu kontenera do repozytorium.
Wypychanie ładunku zdarzenia
Element | Type | opis |
---|---|---|
id |
String | Identyfikator zdarzenia elementu webhook. |
timestamp |
DateTime | Godzina wyzwolenia zdarzenia elementu webhook. |
action |
String | Akcja, która wyzwoliła zdarzenie elementu webhook. |
cel | Typ złożony | Element docelowy zdarzenia, które wyzwoliło zdarzenie elementu webhook. |
prosić | Typ złożony | Żądanie, które wygenerowało zdarzenie elementu webhook. |
target
Element | Type | opis |
---|---|---|
mediaType |
String | Typ MIME obiektu, do których odwołuje się odwołanie. |
size |
Int32 | Liczba bajtów zawartości. Tak samo jak pole Długość. |
digest |
String | Skrót zawartości zdefiniowanej przez specyfikację interfejsu API HTTP rejestru w wersji 2. |
length |
Int32 | Liczba bajtów zawartości. Tak samo jak pole Rozmiar. |
repository |
String | Nazwa repozytorium. |
tag |
String | Nazwa tagu obrazu. |
żądanie
Element | Type | opis |
---|---|---|
id |
String | Identyfikator żądania, które zainicjowało zdarzenie. |
host |
String | Zewnętrznie dostępna nazwa hosta wystąpienia rejestru określona przez nagłówek hosta HTTP dla żądań przychodzących. |
method |
String | Metoda żądania, która wygenerowała zdarzenie. |
useragent |
String | Nagłówek agenta użytkownika żądania. |
Przykład ładunku: zdarzenie wypychania obrazu
{
"id": "cb8c3971-9adc-488b-xxxx-43cbb4974ff5",
"timestamp": "2017-11-17T16:52:01.343145347Z",
"action": "push",
"target": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 524,
"digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
"length": 524,
"repository": "hello-world",
"tag": "v1"
},
"request": {
"id": "3cbb6949-7549-4fa1-xxxx-a6d5451dffc7",
"host": "myregistry.azurecr.io",
"method": "PUT",
"useragent": "docker/17.09.0-ce go/go1.8.3 git-commit/afdb6d4 kernel/4.10.0-27-generic os/linux arch/amd64 UpstreamClient(Docker-Client/17.09.0-ce \\(linux\\))"
}
}
Przykładowe polecenie interfejsu wiersza polecenia platformy Docker, które wyzwala element webhook zdarzenia wypychania obrazu:
docker push myregistry.azurecr.io/hello-world:v1
Zdarzenie wypychania wykresu
Element webhook został wyzwolony po wypchnięciu wykresu Helm do repozytorium.
Ładunek zdarzenia wypychania wykresu
Element | Type | opis |
---|---|---|
id |
String | Identyfikator zdarzenia elementu webhook. |
timestamp |
DateTime | Godzina wyzwolenia zdarzenia elementu webhook. |
action |
String | Akcja, która wyzwoliła zdarzenie elementu webhook. |
cel | Typ złożony | Element docelowy zdarzenia, które wyzwoliło zdarzenie elementu webhook. |
target
Element | Type | opis |
---|---|---|
mediaType |
String | Typ MIME obiektu, do których odwołuje się odwołanie. |
size |
Int32 | Liczba bajtów zawartości. |
digest |
String | Skrót zawartości zdefiniowanej przez specyfikację interfejsu API HTTP rejestru w wersji 2. |
repository |
String | Nazwa repozytorium. |
tag |
String | Nazwa tagu wykresu. |
name |
String | Nazwa wykresu. |
version |
String | Wersja wykresu. |
Przykład ładunku: zdarzenie wypychania wykresu
{
"id": "6356e9e0-627f-4fed-xxxx-d9059b5143ac",
"timestamp": "2019-03-05T23:45:31.2614267Z",
"action": "chart_push",
"target": {
"mediaType": "application/vnd.acr.helm.chart",
"size": 25265,
"digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
"repository": "repo",
"tag": "wordpress-5.4.0.tgz",
"name": "wordpress",
"version": "5.4.0.tgz"
}
}
Przykładowe polecenie interfejsu wiersza polecenia platformy Azure, które wyzwala element webhook zdarzenia chart_push :
az acr helm push wordpress-5.4.0.tgz --name MyRegistry
Usuń zdarzenie
Element webhook jest wyzwalany po usunięciu repozytorium obrazów lub manifestu. Nie jest wyzwalany po usunięciu tagu.
Usuwanie ładunku zdarzenia
Element | Type | opis |
---|---|---|
id |
String | Identyfikator zdarzenia elementu webhook. |
timestamp |
DateTime | Godzina wyzwolenia zdarzenia elementu webhook. |
action |
String | Akcja, która wyzwoliła zdarzenie elementu webhook. |
cel | Typ złożony | Element docelowy zdarzenia, które wyzwoliło zdarzenie elementu webhook. |
prosić | Typ złożony | Żądanie, które wygenerowało zdarzenie elementu webhook. |
target
Element | Type | opis |
---|---|---|
mediaType |
String | Typ MIME obiektu, do których odwołuje się odwołanie. |
digest |
String | Skrót zawartości zdefiniowanej przez specyfikację interfejsu API HTTP rejestru w wersji 2. |
repository |
String | Nazwa repozytorium. |
żądanie
Element | Type | opis |
---|---|---|
id |
String | Identyfikator żądania, które zainicjowało zdarzenie. |
host |
String | Zewnętrznie dostępna nazwa hosta wystąpienia rejestru określona przez nagłówek hosta HTTP dla żądań przychodzących. |
method |
String | Metoda żądania, która wygenerowała zdarzenie. |
useragent |
String | Nagłówek agenta użytkownika żądania. |
Przykład ładunku: zdarzenie usuwania obrazu
{
"id": "afc359ce-df7f-4e32-xxxx-1ff8aa80927b",
"timestamp": "2017-11-17T16:54:53.657764628Z",
"action": "delete",
"target": {
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
"repository": "hello-world"
},
"request": {
"id": "3d78b540-ab61-4f75-xxxx-7ca9ecf559b3",
"host": "myregistry.azurecr.io",
"method": "DELETE",
"useragent": "python-requests/2.18.4"
}
}
Przykładowe polecenia interfejsu wiersza polecenia platformy Azure, które wyzwalają element webhook zdarzenia usuwania :
# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository
# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag
Zdarzenie usuwania wykresu
Element webhook został wyzwolony po usunięciu pakietu Helm lub repozytorium.
Wykres usuwa ładunek zdarzenia
Element | Type | opis |
---|---|---|
id |
String | Identyfikator zdarzenia elementu webhook. |
timestamp |
DateTime | Godzina wyzwolenia zdarzenia elementu webhook. |
action |
String | Akcja, która wyzwoliła zdarzenie elementu webhook. |
cel | Typ złożony | Element docelowy zdarzenia, które wyzwoliło zdarzenie elementu webhook. |
target
Element | Type | opis |
---|---|---|
mediaType |
String | Typ MIME obiektu, do których odwołuje się odwołanie. |
size |
Int32 | Liczba bajtów zawartości. |
digest |
String | Skrót zawartości zdefiniowanej przez specyfikację interfejsu API HTTP rejestru w wersji 2. |
repository |
String | Nazwa repozytorium. |
tag |
String | Nazwa tagu wykresu. |
name |
String | Nazwa wykresu. |
version |
String | Wersja wykresu. |
Przykład ładunku: zdarzenie usuwania wykresu
{
"id": "338a3ef7-ad68-4128-xxxx-fdd3af8e8f67",
"timestamp": "2019-03-06T00:10:48.1270754Z",
"action": "chart_delete",
"target": {
"mediaType": "application/vnd.acr.helm.chart",
"size": 25265,
"digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
"repository": "repo",
"tag": "wordpress-5.4.0.tgz",
"name": "wordpress",
"version": "5.4.0.tgz"
}
}
Przykładowe polecenie interfejsu wiersza polecenia platformy Azure, które wyzwala element webhook zdarzenia chart_delete :
az acr helm delete wordpress --version 5.4.0 --name MyRegistry
Następne kroki
Korzystanie z elementów webhook usługi Azure Container Registry