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 stringa Percorso definito dall'editore all'oggetto dell'evento.
type stringa Uno dei tipi di evento registrati per l'origine evento.
time stringa Ora di generazione dell'evento in base all'ora UTC del provider.
id stringa Identificatore univoco per l'evento.
data oggetto Dati relativi all'evento di archiviazione BLOB.
specversion stringa Versione della specifica dello schema CloudEvents.

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

Proprietà Type Descrizione
id stringa L'ID evento.
timestamp stringa L'ora in cui si è verificato l'evento.
action stringa 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 stringa Digest del contenuto, definito dalla specifica API HTTP del registro contenitori V2.
length integer Numero di byte del contenuto. Uguale al campo Size.
repository stringa Nome del repository.
tag stringa Nome tag.
name stringa Nome del grafico.
version stringa 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 stringa 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 stringa Nome host accessibile esternamente dell'istanza del registro, specificato dall'intestazione host http nelle richieste in ingresso.
method stringa Metodo di richiesta che ha generato l'evento.
useragent stringa 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