Event Grid kaynağı olarak Azure Container Registry

Bu makalede Container Registry olaylarının özellikleri ve şeması sağlanır. Olay şemalarına giriş için bkz. Azure Event Grid olay şeması.

Kullanılabilir olay türleri

Azure Container Registry aşağıdaki olay türlerini yayar:

Olay türü Açıklama
Microsoft.ContainerRegistry.ImagePushed Görüntü gönderildiğinde oluşturulur.
Microsoft.ContainerRegistry.ImageDeleted Görüntü silindiğinde oluşturulur.
Microsoft.ContainerRegistry.ChartPushed Helm grafiği gönderildiğinde oluşturulur.
Microsoft.ContainerRegistry.ChartDeleted Helm grafiği silindiğinde oluşturulur.

Örnek olay

Aşağıdaki örnekte, gönderilen görüntü olayının şeması gösterilmektedir:

[{
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld:v1",
  "eventType": "Microsoft.ContainerRegistry.ImagePushed",
  "eventTime": "2018-04-25T21:39:47.6549614Z",
  "data": {
    "id": "31c51664-e5bd-416a-a5df-e5206bc47ed0",
    "timestamp": "2018-04-25T21:39:47.276585742Z",
    "action": "push",
    "location": "westus",
    "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\\\\))"
    },
    "connectedRegistry": {
      "name": "edge1"
    }    
  },
  "dataVersion": "2.0",
  "metadataVersion": "1"
}]

Silinen görüntü olayının şeması benzerdir:

[{
  "id": "f06e3921-301f-42ec-b368-212f7d5354bd",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld",
  "eventType": "Microsoft.ContainerRegistry.ImageDeleted",
  "eventTime": "2018-04-26T17:56:01.8211268Z",
  "data": {
    "id": "f06e3921-301f-42ec-b368-212f7d5354bd",
    "timestamp": "2018-04-26T17:56:00.996603117Z",
    "action": "delete",
    "location": "westus",
    "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"
    },
    "connectedRegistry": {
      "name": "edge1"
    }    
  },
  "dataVersion": "2.0",
  "metadataVersion": "1"
}]

Gönderilen bir grafik olayının şeması, görüntülenmiş gönderilen olayın şemasına benzer, ancak bir istek nesnesi içermez:

[{
  "id": "ea3a9c28-5b17-40f6-a500-3f02b6829277",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "mychart:1.0.0",
  "eventType": "Microsoft.ContainerRegistry.ChartPushed",
  "eventTime": "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",
    "location": "westus",
    "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"
    },
    "connectedRegistry": {
      "name": "edge1"
    }    
  },
  "dataVersion": "2.0",
  "metadataVersion": "1"
}]

Silinen bir grafik olayının şeması, görüntülenmiş bir silinen olayın şemasına benzer, ancak bir istek nesnesi içermez:

[{
  "id": "39136b3a-1a7e-416f-a09e-5c85d5402fca",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "mychart:1.0.0",
  "eventType": "Microsoft.ContainerRegistry.ChartDeleted",
  "eventTime": "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",
    "location": "westus",
    "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"
    },
    "connectedRegistry": {
      "name": "edge1"
    }    
  },
  "dataVersion": "2.0",
  "metadataVersion": "1"
}]

Olay özellikleri

Bir olay aşağıdaki üst düzey verilere sahiptir:

Özellik Tür Description
topic dize Olay kaynağının tam kaynak yolu. Bu alan yazılamaz. Event Grid bu değeri sağlar.
subject string Olay konusunun yayımcı tarafından tanımlanan yolu.
eventType string Bu olay kaynağı için kayıtlı olay türlerinden biri.
eventTime string Sağlayıcının UTC saati temelinde olayın oluşturulduğu saat.
id string Olayın benzersiz tanımlayıcısı.
location string Olayın konumu.
connectedRegistry object Olay bağlı bir kayıt defteri tarafından oluşturulduysa bağlı kayıt defteri bilgileri.
data object Blob depolama olay verileri.
dataVersion string Veri nesnesinin şema sürümü. Şema sürümünü yayımcı tanımlar.
metadataVersion string Olay meta verilerinin şema sürümü. Event Grid en üst düzey özelliklerin şemasını tanımlar. Event Grid bu değeri sağlar.

Veri nesnesi aşağıdaki özelliklere sahiptir:

Özellik Tür Description
id dize Olay kimliği.
timestamp string Olayın gerçekleştiği saat.
action string Sağlanan olayı kapsayan eylem.
target object Olayın hedefi.
request object Olayı oluşturan istek.

Hedef nesne aşağıdaki özelliklere sahiptir:

Özellik Tür Description
mediaType dize Başvuruda bulunılan nesnenin MIME türü.
size tamsayı İçeriğin bayt sayısı. Uzunluk alanıyla aynı.
digest string Kayıt Defteri V2 HTTP API Belirtimi tarafından tanımlanan içeriğin özeti.
length tamsayı İçeriğin bayt sayısı. Boyut alanıyla aynı.
repository string Depo adı.
tag string Etiket adı.
name string Grafik adı.
version string Grafik sürümü.

İstek nesnesi aşağıdaki özelliklere sahiptir:

Özellik Tür Description
id dize Olayı başlatan isteğin kimliği.
addr string Olayı başlatan istemci bağlantısının IP veya ana bilgisayar adı ve büyük olasılıkla bağlantı noktası. Bu değer, standart http isteğinden RemoteAddr değeridir.
host string Gelen isteklerde http ana bilgisayar üst bilgisi tarafından belirtildiği gibi kayıt defteri örneğinin dışarıdan erişilebilir ana bilgisayar adı.
method string Olayı oluşturan istek yöntemi.
useragent string İsteğin kullanıcı aracısı üst bilgisi.

ConnectedRegistry nesnesi aşağıdaki özelliklere sahiptir:

Özellik Tür Description
name dize Bu olayı oluşturan bağlı kayıt defterinin adı.

Öğreticiler ve nasıl yapılır kılavuzları

Başlık Açıklama
Hızlı Başlangıç: Kapsayıcı kayıt defteri olaylarını gönderme Container Registry olaylarını göndermek için Azure CLI'nin nasıl kullanılacağını gösterir.

Sonraki adımlar