Реестр контейнеров Azure как источник службы "Сетка событий"
В этой статье описаны свойства и схема для событий Реестра контейнеров. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure".
Доступные типы событий
Реестр контейнеров Azure генерирует следующие типы событий.
Тип события | Description |
---|---|
Microsoft.ContainerRegistry.ImagePushed | Вызывается при отправке образа. |
Microsoft.ContainerRegistry.ImageDeleted | Вызывается при удалении образа. |
Microsoft.ContainerRegistry.ChartPushed | Возникает при отправке диаграммы Helm. |
Microsoft.ContainerRegistry.ChartDeleted | Возникает при удалении диаграммы Helm. |
Пример события
В примере ниже показана схема события передачи образа.
[{
"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"
}]
Схема для события удаления образа аналогична:
[{
"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"
}]
Схема отправленного события диаграммы аналогична схеме отправленного события с изображением, но без объекта запроса:
[{
"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"
}]
Схема удаленного события диаграммы аналогична схеме удаленного события с изображением, но без объекта запроса:
[{
"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"
}]
Свойства событий
Событие содержит следующие высокоуровневые данные:
Свойство | Type | Описание: |
---|---|---|
source |
строка | Полный путь к ресурсу источника событий. Это поле защищено от записи. Это значение предоставляет Сетка событий. |
subject |
строка | Определенный издателем путь к субъекту события. |
type |
строка | Один из зарегистрированных типов событий для этого источника событий. |
time |
строка | Время создания события с учетом времени поставщика в формате UTC. |
id |
строка | Уникальный идентификатор события. |
data |
объект | Данные события хранилища BLOB-объектов. |
specversion |
строка | Версия спецификации схемы CloudEvents. |
Объект данных имеет следующие свойства:
Свойство | Type | Описание: |
---|---|---|
id |
строка | Идентификатор события. |
timestamp |
строка | Время возникновения события. |
action |
строка | Действие, которое включает в себя указанное событие. |
target |
объект | Целевой объект события. |
request |
объект | Запрос, который создал событие. |
Целевой объект имеет следующие свойства:
Свойство | Type | Описание: |
---|---|---|
mediaType |
строка | Тип MIME передаваемого объекта. |
size |
integer | Число байтов содержимого. Это значение совпадает со значением поля Length. |
digest |
строка | Хэш-код содержимого, как определено в спецификации API HTTP версии 2 реестра. |
length |
integer | Число байтов содержимого. Это значение совпадает со значением поля Size. |
repository |
строка | Имя репозитория. |
tag |
строка | Имя тега. |
name |
строка | Имя диаграммы. |
version |
строка | Версия диаграммы. |
Объект запроса имеет следующие свойства:
Свойство | Type | Описание: |
---|---|---|
id |
строка | Идентификатор запроса, инициировавшего событие. |
addr |
строка | IP-адрес или имя узла и, возможно, порт клиентского подключения, инициировавшего событие. Это значение — RemoteAddr из стандартного HTTP-запроса. |
host |
строка | Доступное из внешней сети имя узла на экземпляре реестра, которое указано в заголовке host во входящих HTTP-запросах. |
method |
строка | Метод запроса, который создал событие. |
useragent |
строка | Заголовок user agent из запроса. |
Объект connectedRegistry имеет следующие свойства:
Свойство | Type | Описание: |
---|---|---|
name |
строка | Имя подключенного реестра, который создал это событие. |
Практические руководства и другие учебные материалы
Заголовок | Description |
---|---|
Быстрое руководство по отправке событий реестра контейнеров | Содержит сведения об отправке событий Реестра контейнеров с помощью Azure CLI. |
Следующие шаги
- См. общие сведения о службе "Сетка событий Azure".
- Дополнительные сведения о создании подписки на Сетку событий Azure см. в статье Схема подписки для службы "Сетка событий".