Azure Container Registry webhooku – referenční dokumentace
Pro registr kontejneru můžete nakonfigurovat webhooky , které generují události při provádění určitých akcí. Můžete například povolit webhooky, které se aktivují, když se image kontejneru nebo chart Helm nasdílí do registru nebo odstraní. Při aktivaci webhooku Azure Container Registry vydá požadavek HTTP nebo HTTPS obsahující informace o události na zadaný koncový bod. Koncový bod pak může webhook zpracovat a podle toho se chovat.
Následující části podrobně popisuje schéma požadavků webhooku 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í Azure Container Registry webhooků.
Požadavky webhooku
Požadavek HTTP
Aktivovaný webhook vytvoří požadavek HTTP POST
na koncový bod adresy URL, který jste zadali při konfiguraci webhooku.
Hlavičky HTTP
Požadavky webhooku Content-Type
obsahují hodnotu , application/json
pokud jste pro webhook nezadáli vlastní hlavičku Content-Type
.
Kromě vlastních hlaviček, které jste možná zadali pro webhook, se do požadavku nepřidají žádné další hlavičky.
Nasdílení události
Webhook se aktivuje, když se image kontejneru nasdílí do úložiště.
Datová část nabízené události
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID události webhooku. |
timestamp |
DateTime | Čas, ve kterém se aktivovala událost webhooku. |
action |
Řetězec | Akce, která aktivovala událost webhooku. |
Cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
Požadavek | Komplexní typ | Požadavek, který vygeneroval událost webhooku. |
Cíl
Prvek | Typ | Popis |
---|---|---|
mediaType |
Řetězec | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu. Stejné jako v poli Délka. |
digest |
Řetězec | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru v2. |
length |
Int32 | Počet bajtů obsahu. Stejné jako pole Velikost. |
repository |
Řetězec | Název úložiště. |
tag |
Řetězec | Název značky obrázku. |
Požadavek
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID požadavku, který událost inicioval. |
host |
Řetězec | Externě přístupný název hostitele instance registru zadaný hlavičkou hostitele HTTP pro příchozí požadavky. |
method |
Řetězec | Metoda požadavku, která událost vygenerovala. |
useragent |
Řetězec | Hlavička uživatelského agenta požadavku. |
Příklad datové části: událost nabízení obrázků
{
"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 nabízení image:
docker push myregistry.azurecr.io/hello-world:v1
Událost nabízení grafu
Webhook se aktivuje při vložení grafu Helmu do úložiště.
Datová část události nabízeného grafu
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID události webhooku. |
timestamp |
DateTime | Čas, ve kterém se aktivovala událost webhooku. |
action |
Řetězec | Akce, která aktivovala událost webhooku. |
Cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
Cíl
Prvek | Typ | Popis |
---|---|---|
mediaType |
Řetězec | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu. |
digest |
Řetězec | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru v2. |
repository |
Řetězec | Název úložiště. |
tag |
Řetězec | Název značky grafu. |
name |
Řetězec | Název grafu. |
version |
Řetězec | 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ě obrázků nebo manifestu. Při odstranění značky se neaktivuje.
Odstranění datové části události
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID události webhooku. |
timestamp |
DateTime | Čas, ve kterém se aktivovala událost webhooku. |
action |
Řetězec | Akce, která aktivovala událost webhooku. |
Cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
Požadavek | Komplexní typ | Požadavek, který vygeneroval událost webhooku. |
Cíl
Prvek | Typ | Popis |
---|---|---|
mediaType |
Řetězec | Typ MIME odkazovaného objektu. |
digest |
Řetězec | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru v2. |
repository |
Řetězec | Název úložiště. |
Požadavek
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID požadavku, který událost inicioval. |
host |
Řetězec | Externě přístupný název hostitele instance registru zadaný hlavičkou hostitele HTTP pro příchozí požadavky. |
method |
Řetězec | Metoda požadavku, která událost vygenerovala. |
useragent |
Řetězec | 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 Helm nebo úložiště.
Datová část události odstranění grafu
Prvek | Typ | Popis |
---|---|---|
id |
Řetězec | ID události webhooku. |
timestamp |
DateTime | Čas, ve kterém se aktivovala událost webhooku. |
action |
Řetězec | Akce, která aktivovala událost webhooku. |
Cíl | Komplexní typ | Cíl události, která aktivovala událost webhooku. |
Cíl
Prvek | Typ | Popis |
---|---|---|
mediaType |
Řetězec | Typ MIME odkazovaného objektu. |
size |
Int32 | Počet bajtů obsahu. |
digest |
Řetězec | Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru v2. |
repository |
Řetězec | Název úložiště. |
tag |
Řetězec | Název značky grafu. |
name |
Řetězec | Název grafu. |
version |
Řetězec | 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