Usługa Azure Container Registry jako źródło usługi Event Grid

Ten artykuł zawiera właściwości i schemat zdarzeń usługi Container Registry. Aby zapoznać się ze schematami zdarzeń, zobacz Schemat zdarzeń usługi Azure Event Grid.

Dostępne typy zdarzeń

Usługa Azure Container Registry emituje następujące typy zdarzeń:

Typ zdarzenia opis
Microsoft.ContainerRegistry.ImagePushed Podniesione po wypchnięciu obrazu.
Microsoft.ContainerRegistry.ImageDeleted Wywoływane po usunięciu obrazu.
Microsoft.ContainerRegistry.ChartPushed Podniesione po wypchnięciu wykresu Helm.
Microsoft.ContainerRegistry.ChartDeleted Podniesione po usunięciu wykresu programu Helm.

Przykładowe zdarzenie

Poniższy przykład przedstawia schemat zdarzenia wypychanego obrazu:

[{
  "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"
}]

Schemat usuniętego zdarzenia obrazu jest podobny:

[{
  "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"
}]

Schemat zdarzenia wypychanego wykresu jest podobny do schematu zdarzenia wypychanego z obrazem, ale nie zawiera obiektu żądania:

[{
  "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"
}]

Schemat usuniętego zdarzenia wykresu jest podobny do schematu zdarzenia usuniętego z obrazu, ale nie zawiera obiektu żądania:

[{
  "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"
}]

Właściwości zdarzenia

Zdarzenie ma następujące dane najwyższego poziomu:

Właściwość Type opis
source string Pełna ścieżka zasobu do źródła zdarzeń. To pole nie jest możliwe do zapisu. Ta wartość jest podawana przez usługę Event Grid.
subject string Zdefiniowana przez wydawcę ścieżka do tematu zdarzenia.
type string Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń.
time string Czas generowania zdarzenia na podstawie czasu UTC dostawcy.
id string Unikatowy identyfikator zdarzenia.
data obiekt Dane zdarzeń usługi Blob Storage.
specversion string Wersja specyfikacji schematu CloudEvents.

Obiekt danych ma następujące właściwości:

Właściwość Type opis
id string Identyfikator zdarzenia.
timestamp string Godzina wystąpienia zdarzenia.
action string Akcja obejmująca podane zdarzenie.
target obiekt Element docelowy zdarzenia.
request obiekt Żądanie, które wygenerowało zdarzenie.

Obiekt docelowy ma następujące właściwości:

Właściwość Type opis
mediaType string Typ MIME obiektu, do których odwołuje się odwołanie.
size integer 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 integer Liczba bajtów zawartości. Tak samo jak pole Rozmiar.
repository string Nazwa repozytorium.
tag string Nazwa tagu.
name string Nazwa wykresu.
version string Wersja wykresu.

Obiekt żądania ma następujące właściwości:

Właściwość Type opis
id string Identyfikator żądania, które zainicjowało zdarzenie.
addr string Adres IP lub nazwa hosta i prawdopodobnie port połączenia klienta, które zainicjowało zdarzenie. Ta wartość to RemoteAddr ze standardowego żądania HTTP.
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.

Obiekt connectedRegistry ma następujące właściwości:

Właściwość Type opis
name string Nazwa połączonego rejestru, który wygenerował to zdarzenie.

Samouczki i poradniki

Nazwa opis
Szybki start: wysyłanie zdarzeń rejestru kontenerów Przedstawia sposób wysyłania zdarzeń usługi Container Registry za pomocą interfejsu wiersza polecenia platformy Azure.

Następne kroki

  • Aby zapoznać się z wprowadzeniem do usługi Azure Event Grid, zobacz Co to jest usługa Event Grid?
  • Aby uzyskać więcej informacji na temat tworzenia subskrypcji usługi Azure Event Grid, zobacz Schemat subskrypcji usługi Event Grid.