Azure Container Registry som en Event Grid-källa

Den här artikeln innehåller egenskaper och schema för Container Registry-händelser. En introduktion till händelsescheman finns i Händelseschema för Azure Event Grid.

Tillgängliga händelsetyper

Azure Container Registry genererar följande händelsetyper:

Händelsetyp beskrivning
Microsoft.ContainerRegistry.ImagePushed Upphöjt när en bild skickas.
Microsoft.ContainerRegistry.ImageDeleted Upphöjt när en bild tas bort.
Microsoft.ContainerRegistry.ChartPushed Upphöjt när ett Helm-diagram pushas.
Microsoft.ContainerRegistry.ChartDeleted Utlöses när ett Helm-diagram tas bort.

Exempelhändelse

I följande exempel visas schemat för en push-överförd bildhändelse:

[{
  "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 för en borttagen bildhändelse liknar följande:

[{
  "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 för ett diagram som push-överförts liknar schemat för en avbildningsförd push-händelse, men det innehåller inte något objekt för begäran:

[{
  "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 för en diagramborttagningshändelse liknar schemat för en borttagen bildhändelse, men det innehåller inget objekt för begäran:

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

Händelseegenskaper

En händelse har följande data på den översta nivån:

Property Type Description
source sträng Fullständig resurssökväg till händelsekällan. Det här fältet kan inte skrivas. Event Grid ger det här värdet.
subject sträng Utgivardefinierad sökväg till händelseobjektet.
type sträng En av de registrerade händelsetyperna för den här händelsekällan.
time sträng Den tid då händelsen genereras baserat på leverantörens UTC-tid.
id sträng Unik identifierare för händelsen.
data objekt Händelsedata för Blob Storage.
specversion sträng CloudEvents schemaspecifikationsversion.

Dataobjektet har följande egenskaper:

Property Type Description
id sträng Händelse-ID:t.
timestamp sträng Tidpunkten då händelsen inträffade.
action sträng Åtgärden som omfattar den angivna händelsen.
target objekt Målet för händelsen.
request objekt Begäran som genererade händelsen.

Målobjektet har följande egenskaper:

Property Type Description
mediaType sträng MIME-typen för det refererade objektet.
size integer Antalet byte av innehållet. Samma som fältet Längd.
digest sträng Sammanfattningen av innehållet enligt definitionen i HTTP API-specifikationen för Registry V2.
length integer Antalet byte av innehållet. Samma som fältet Storlek.
repository sträng Lagringsplatsens namn.
tag sträng Taggnamnet.
name sträng Diagramnamnet.
version sträng Diagramversionen.

Begärandeobjektet har följande egenskaper:

Property Type Description
id sträng ID för begäran som initierade händelsen.
addr sträng IP-adressen eller värdnamnet och eventuellt porten för klientanslutningen som initierade händelsen. Det här värdet är RemoteAddr från http-standardbegäran.
host sträng Registerinstansens externt tillgängliga värdnamn enligt http-värdhuvudet för inkommande begäranden.
method sträng Den begärandemetod som genererade händelsen.
useragent sträng Användaragentens huvud för begäran.

Objektet connectedRegistry har följande egenskaper:

Property Type Description
name sträng Namnet på det anslutna registret som genererade den här händelsen.

Självstudier och instruktioner

Title Description
Snabbstart: skicka containerregisterhändelser Visar hur du använder Azure CLI för att skicka Container Registry-händelser.

Nästa steg