referenční informace k webhooku Azure Container Registry
Můžete nakonfigurovat webhooky pro registr kontejneru, které generují události, když se s ním provádějí určité akce. Povolte například webhooky, které se aktivují při vložení image kontejneru nebo chartu Helm do registru nebo odstranění. Při aktivaci webhooku služba Azure Container Registry vydá požadavek HTTP nebo HTTPS obsahující informace o události do zadaného koncového bodu. Koncový bod pak může webhook zpracovat a odpovídajícím způsobem jednat.
Následující části podrobně uvádějí schéma požadavků webhooků generovaných podporovanými událostmi. Oddíly událostí obsahují schéma datové části pro typ události, ukázkovou datovou část požadavku a jeden nebo více ukázkových příkazů, které by aktivovaly webhook.
Informace o konfiguraci webhooků pro registr kontejnerů Azure najdete v tématu Použití webhooků služby Azure Container Registry.
Požadavky webhooků
Žádost HTTP
Aktivovaný webhook vytvoří požadavek HTTP POST
na koncový bod adresy URL, který jste zadali při konfiguraci webhooku.
Záhlaví HTTP
Požadavky webhooku zahrnují, Content-Type
application/json
jestli jste pro webhook nezadáli vlastní hlavičku Content-Type
.
Kromě těchto vlastních hlaviček, které jste pro webhook zadali, se do požadavku nepřidávají žádné další hlavičky.
Nasdílení události
Webhook se aktivuje, když se image kontejneru odešle do úložiště.
Datová část události push
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID události webhooku. |
timestamp |
DateTime | Čas, kdy byla událost webhooku aktivována. |
action |
String | Akce, která aktivovala událost webhooku. |
cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
prosba | Komplexní typ | Požadavek, který vygeneroval událost webhooku. |
target
Element (Prvek) | Typ | Description |
---|---|---|
mediaType |
String | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu Stejné jako pole Délka. |
digest |
String | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru V2. |
length |
Int32 | Počet bajtů obsahu Stejné jako pole Velikost. |
repository |
String | Název úložiště. |
tag |
String | Název značky obrázku. |
request
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID požadavku, který událost inicioval. |
host |
String | Externě přístupný název hostitele instance registru, jak je určeno hlavičkou hostitele HTTP příchozích požadavků. |
method |
String | Metoda požadavku, která vygenerovala událost. |
useragent |
String | Hlavička uživatelského agenta požadavku. |
Příklad datové části: událost push image
{
"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\\))"
}
}
Příklad příkazu Rozhraní příkazového řádku Dockeru, který aktivuje webhook události push image:
docker push myregistry.azurecr.io/hello-world:v1
Událost nabízení grafu
Webhook se aktivoval při nasdílení chartu Helm do úložiště.
Chart push event payload
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID události webhooku. |
timestamp |
DateTime | Čas, kdy byla událost webhooku aktivována. |
action |
String | Akce, která aktivovala událost webhooku. |
cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
target
Element (Prvek) | Typ | Description |
---|---|---|
mediaType |
String | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu |
digest |
String | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru V2. |
repository |
String | Název úložiště. |
tag |
String | Název značky grafu. |
name |
String | Název grafu. |
version |
String | Verze grafu. |
Příklad datové části: událost nabízení grafu
{
"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"
}
}
Příklad příkazu Azure CLI , který aktivuje webhook události chart_push :
az acr helm push wordpress-5.4.0.tgz --name MyRegistry
Odstranit událost
Webhook se aktivuje při odstranění úložiště image nebo manifestu. Při odstranění značky se neaktivuje.
Odstranění datové části události
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID události webhooku. |
timestamp |
DateTime | Čas, kdy byla událost webhooku aktivována. |
action |
String | Akce, která aktivovala událost webhooku. |
cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
prosba | Komplexní typ | Požadavek, který vygeneroval událost webhooku. |
target
Element (Prvek) | Typ | Description |
---|---|---|
mediaType |
String | Typ MIME odkazovaného objektu. |
digest |
String | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru V2. |
repository |
String | Název úložiště. |
request
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID požadavku, který událost inicioval. |
host |
String | Externě přístupný název hostitele instance registru, jak je určeno hlavičkou hostitele HTTP příchozích požadavků. |
method |
String | Metoda požadavku, která vygenerovala událost. |
useragent |
String | Hlavička uživatelského agenta požadavku. |
Příklad datové části: událost odstranění obrázku
{
"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"
}
}
Příklady příkazů Azure CLI , které aktivují webhook události odstranění :
# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository
# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag
Událost odstranění grafu
Webhook se aktivuje při odstranění chartu Nebo úložiště Helm.
Datová část události odstranění grafu
Element (Prvek) | Typ | Description |
---|---|---|
id |
String | ID události webhooku. |
timestamp |
DateTime | Čas, kdy byla událost webhooku aktivována. |
action |
String | Akce, která aktivovala událost webhooku. |
cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
target
Element (Prvek) | Typ | Description |
---|---|---|
mediaType |
String | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu |
digest |
String | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru V2. |
repository |
String | Název úložiště. |
tag |
String | Název značky grafu. |
name |
String | Název grafu. |
version |
String | Verze grafu. |
Příklad datové části: událost odstranění grafu
{
"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"
}
}
Příklad příkazu Azure CLI , který aktivuje webhook události chart_delete :
az acr helm delete wordpress --version 5.4.0 --name MyRegistry