Condividi tramite


Registro Azure Container come origine di Griglia di eventi

Questo articolo illustra le proprietà e lo schema per gli eventi del Registro contenitori. Per un'introduzione agli schemi di eventi, vedere Schema di eventi di Griglia di eventi di Azure.

Tipi di evento disponibili

Registro Azure Container genera i tipi di evento seguenti:

Tipo di evento Descrizione
Microsoft.ContainerRegistry.ImagePushed Generato quando viene eseguito il push di un'immagine.
Microsoft.ContainerRegistry.ImagePushed Generato quando un'immagine viene eliminata.
Microsoft.ContainerRegistry.ChartPushed Generato quando viene eseguito il push di un grafico Helm.
Microsoft.ContainerRegistry.ChartDeleted Generato quando viene eliminato un grafico Helm.

Evento di esempio

L'esempio seguente illustra lo schema di esecuzione del push di un'immagine:

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

Lo schema per l'eliminazione di un'immagine è simile:

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

Lo schema per un evento di cui è stato eseguito il push del grafico è simile allo schema per un evento di cui è stato eseguito il push dell'immagine, ma non include un oggetto richiesta:

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

Lo schema per un evento di cui è stata eseguita l'eliminazione del grafico è simile allo schema per un evento di cui è stata eseguita l'eliminazione dell'immagine, ma non include un oggetto richiesta:

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

Proprietà dell'evento

Un evento presenta i seguenti dati di primo livello:

Proprietà Type Descrizione
source stringa Percorso completo della risorsa all'origine evento. Questo campo non è scrivibile. Questo valore viene specificato da Griglia di eventi.
subject string Percorso definito dall'editore all'oggetto dell'evento.
type string Uno dei tipi di evento registrati per l'origine evento.
time string Ora di generazione dell'evento in base all'ora UTC del provider.
id string Identificatore univoco per l'evento.
data oggetto Dati relativi all'evento di archiviazione BLOB.
specversion string Versione della specifica dello schema CloudEvents.

Di seguito sono elencate le proprietà dell'oggetto dati:

Proprietà Type Descrizione
id stringa L'ID evento.
timestamp string L'ora in cui si è verificato l'evento.
action string L'azione che comprende l'evento specificato.
target oggetto L'URL di destinazione dell'evento.
request oggetto La richiesta che ha generato l'evento.

Di seguito sono elencate le proprietà dell'oggetto di destinazione:

Proprietà Type Descrizione
mediaType stringa Tipo MIME dell'oggetto di riferimento.
size integer Numero di byte del contenuto. Uguale al campo Length.
digest string Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.
length integer Numero di byte del contenuto. Uguale al campo Size.
repository string Nome del repository.
tag string Nome tag.
name string Nome del grafico.
version string Versione del grafico.

Di seguito sono elencate le proprietà dell'oggetto della richiesta:

Proprietà Type Descrizione
id stringa ID della richiesta che ha avviato l'evento.
addr string L'IP o nome host e possibilmente la porta della connessione client che ha avviato l'evento. Questo valore è il RemoteAddr. dalla richiesta http standard.
host string Nome host accessibile esternamente dell'istanza del registro, specificato dall'intestazione host http nelle richieste in ingresso.
method string Metodo di richiesta che ha generato l'evento.
useragent string Intestazione agente utente della richiesta.

L'oggetto connectedRegistry ha le proprietà seguenti:

Proprietà Type Descrizione
name stringa Nome del registro connesso che ha generato questo evento.

Esercitazioni e procedure

Posizione Descrizione
Guida introduttiva: inviare eventi del registro contenitori Illustra come usare l'interfaccia della riga di comando di Azure per inviare gli eventi di Registro Azure Container.

Passaggi successivi