Azure Container Registry jako zdroj Event Gridu

Tento článek obsahuje vlastnosti a schéma událostí služby Container Registry. Úvod do schémat událostí najdete ve schématu událostí služby Azure Event Grid.

Dostupné typy událostí

Azure Container Registry generuje následující typy událostí:

Typ události Popis
Microsoft.ContainerRegistry.ImagePushed Vyvolá se při nasdílení obrázku.
Microsoft.ContainerRegistry.ImageDeleted Vyvolá se při odstranění obrázku.
Microsoft.ContainerRegistry.ChartPushed Vyvolá se při nasdílení grafu Helm.
Microsoft.ContainerRegistry.ChartDeleted Vyvolá se při odstranění chartu Helm.

Příklad události

Následující příklad ukazuje schéma události nasdílené image:

[{
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "source": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld:v1",
  "type": "Microsoft.ContainerRegistry.ImagePushed",
  "time": "2018-04-25T21:39:47.6549614Z",
  "data": {
    "id": "31c51664-e5bd-416a-a5df-e5206bc47ed0",
    "timestamp": "2018-04-25T21:39:47.276585742Z",
    "action": "push",
    "target": {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "size": 3023,
      "digest": "sha256:213bbc182920ab41e18edc2001e06abcca6735d87782d9cef68abd83941cf0e5",
      "length": 3023,
      "repository": "aci-helloworld",
      "tag": "v1"
    },
    "request": {
      "id": "7c66f28b-de19-40a4-821c-6f5f6c0003a4",
      "host": "demo.azurecr.io",
      "method": "PUT",
      "useragent": "docker/18.03.0-ce go/go1.9.4 git-commit/0520e24 os/windows arch/amd64 UpstreamClient(Docker-Client/18.03.0-ce \\\\(windows\\\\))"
    }
  },
  "specversion": "1.0"
}]

Schéma události odstranění obrázku je podobné:

[{
  "id": "f06e3921-301f-42ec-b368-212f7d5354bd",
  "source": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld",
  "type": "Microsoft.ContainerRegistry.ImageDeleted",
  "time": "2018-04-26T17:56:01.8211268Z",
  "data": {
    "id": "f06e3921-301f-42ec-b368-212f7d5354bd",
    "timestamp": "2018-04-26T17:56:00.996603117Z",
    "action": "delete",
    "target": {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "digest": "sha256:213bbc182920ab41e18edc2001e06abcca6735d87782d9cef68abd83941cf0e5",
      "repository": "aci-helloworld"
    },
    "request": {
      "id": "aeda5b99-4197-409f-b8a8-ff539edb7de2",
      "host": "demo.azurecr.io",
      "method": "DELETE",
      "useragent": "python-requests/2.18.4"
    }
  },
  "specversion": "1.0"
}]

Schéma události nabízeného grafu se podobá schématu události nabízeného obrázku, ale neobsahuje objekt požadavku:

[{
  "id": "ea3a9c28-5b17-40f6-a500-3f02b6829277",
  "source": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "mychart:1.0.0",
  "type": "Microsoft.ContainerRegistry.ChartPushed",
  "time": "2019-03-12T22:16:31.5164086Z",
  "data": {
    "id":"ea3a9c28-5b17-40f6-a500-3f02b682927",
    "timestamp":"2019-03-12T22:16:31.0087496+00:00",
    "action":"chart_push",
    "target":{
      "mediaType":"application/vnd.acr.helm.chart",
      "size":25265,
      "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
      "repository":"repo",
      "tag":"mychart-1.0.0.tgz",
      "name":"mychart",
      "version":"1.0.0"
    }
  },
  "specversion": "1.0"
}]

Schéma odstraněné události grafu se podobá schématu události odstraněné obrázkem, ale nezahrnuje objekt požadavku:

[{
  "id": "39136b3a-1a7e-416f-a09e-5c85d5402fca",
  "source": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "mychart:1.0.0",
  "type": "Microsoft.ContainerRegistry.ChartDeleted",
  "time": "019-03-12T22:42:08.7034064Z",
  "data": {
    "id":"ea3a9c28-5b17-40f6-a500-3f02b682927",
    "timestamp":"2019-03-12T22:42:08.3783775+00:00",
    "action":"chart_delete",
    "target":{
      "mediaType":"application/vnd.acr.helm.chart",
      "size":25265,
      "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
      "repository":"repo",
      "tag":"mychart-1.0.0.tgz",
      "name":"mychart",
      "version":"1.0.0"
    }
  },
  "specversion": "1.0"
}]

Vlastnosti události

Událost má následující data nejvyšší úrovně:

Vlastnost Type Description
source string Úplná cesta prostředku ke zdroji událostí. Toto pole není zapisovatelné. Tuto hodnotu poskytuje Event Grid.
subject string Cesta k předmětu události, kterou definuje vydavatel.
type string Jeden z registrovaných typů události pro tento zdroj události.
time string Čas vygenerování události na základě času UTC poskytovatele.
id string Jedinečný identifikátor události.
data objekt Data událostí úložiště objektů blob
specversion string Verze specifikace schématu CloudEvents

Datový objekt má následující vlastnosti:

Vlastnost Type Description
id string ID události.
timestamp string Čas, kdy k události došlo.
action string Akce, která zahrnuje zadanou událost.
target objekt Cíl události.
request objekt Požadavek, který událost vygeneroval.

Cílový objekt má následující vlastnosti:

Vlastnost Type Description
mediaType string Typ MIME odkazovaného objektu.
size integer Počet bajtů obsahu Stejné jako pole Délka.
digest string Hodnota hash obsahu definovaná specifikací rozhraní HTTP API registru V2.
length integer Počet bajtů obsahu Stejné jako pole Velikost.
repository string Název úložiště.
tag string Název značky.
name string Název grafu.
version string Verze grafu.

Objekt požadavku má následující vlastnosti:

Vlastnost Type Description
id string ID požadavku, který událost inicioval.
addr string IP adresa nebo název hostitele a případně port připojení klienta, který událost inicioval. Tato hodnota je RemoteAddr ze standardního požadavku HTTP.
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.

ConnectedRegistry objekt má následující vlastnosti:

Vlastnost Type Description
name string Název připojeného registru, který tuto událost vygeneroval.

Kurzy a postupy

Titulek Popis
Rychlý start: Odesílání událostí registru kontejneru Ukazuje, jak pomocí Azure CLI odesílat události služby Container Registry.

Další kroky

  • Úvod do Azure Event Gridu najdete v tématu Co je Event Grid?
  • Další informace o vytvoření odběru služby Azure Event Grid najdete ve schématu odběru služby Event Grid.