Azure Container Registry sebagai sumber Event Grid

Artikel ini menjelaskan properti dan skema untuk kejadian Container Registry. Untuk pengantar skema peristiwa, lihat Skema peristiwa Azure Event Grid.

Tipe kejadian yang tersedia

Azure Container Registry mengeluarkan jenis kejadian berikut:

Jenis peristiwa Deskripsi
Microsoft.ContainerRegistry.ImagePushed Muncul saat gambar didorong.
Microsoft.ContainerRegistry.ImageDeleted Muncul saat gambar dihapus.
Microsoft.ContainerRegistry.ChartPushed Muncul saat bagan Helm didorong.
Microsoft.ContainerRegistry.ChartDeleted Muncul saat bagan Helm dihapus.

Contoh peristiwa

Contoh berikut menunjukkan skema kejadian gambar yang didorong:

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

Skema untuk kejadian gambar yang dihapus serupa:

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

Skema untuk kejadian bagan yang didorong mirip dengan skema untuk kejadian gambar yang didorong, tetapi tidak menyertakan objek permintaan:

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

Skema untuk kejadian bagan yang dihapus mirip dengan skema untuk kejadian gambar yang dihapus, tetapi tidak menyertakan objek permintaan:

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

Properti kejadian

Sebuah peristiwa memiliki data tingkat atas berikut ini:

Properti Tipe Deskripsi
source string Jalur sumber daya lengkap ke sumber kejadian. Bidang ini tidak dapat ditulis. Event Grid memberikan nilai ini.
subject string Jalur yang ditentukan penerbit ke subjek kejadian.
type string Salah satu jenis kejadian terdaftar untuk sumber kejadian ini.
time string Waktu peristiwa dibuat berdasarkan waktu UTC penyedia.
id string Pengidentifikasi unik untuk peristiwa tersebut.
data object Data peristiwa penyimpanan blob.
specversion string Versi spesifikasi skema CloudEvents.

Objek data memiliki properti berikut:

Properti Tipe Deskripsi
id string ID kejadian.
timestamp string Waktu ketika peristiwa terjadi.
action string Tindakan yang mencakup kejadian yang disediakan.
target object Target kejadian.
request object Permintaan yang menghasilkan kejadian.

Objek target memiliki properti berikut:

Properti Tipe Deskripsi
mediaType string Jenis MIME dari objek yang direferensikan.
size Integer Jumlah byte konten. Sama seperti bidang Panjang.
digest string Ringkasan konten, seperti yang ditentukan oleh Spesifikasi API HTTP Registry V2.
length Integer Jumlah byte konten. Sama seperti bidang Size.
repository string Nama Repositori.
tag string Nama tag.
name string Nama bagan.
version string Versi bagan.

Objek permintaan memiliki properti berikut:

Properti Tipe Deskripsi
id string ID permintaan yang memulai kejadian.
addr string IP atau nama host dan kemungkinan port dari koneksi komputer klien yang memulai kejadian. Nilai ini adalah RemoteAddr dari permintaan http standar.
host string Nama host yang dapat diakses secara eksternal dari instans registri, seperti yang ditentukan oleh header host http pada permintaan yang masuk.
method string Metode permintaan yang menghasilkan peristiwa.
useragent string Header agen pengguna permintaan.

Objek connectedRegistry memiliki properti berikut:

Properti Tipe Deskripsi
name string Nama registri terhubung yang menghasilkan peristiwa ini.

Tutorial dan cara kerja

Judul Deskripsi
Mulai cepat: mengirim kejadian registri kontainer Menunjukkan cara menggunakan Azure CLI untuk mengirim kejadian Azure Container Registry.

Langkah berikutnya