Event Grid 원본으로서의 Azure Container Registry
이 문서에서는 Container Reigstry 이벤트에 대한 속성 및 스키마를 제공합니다. 이벤트 스키마에 대한 소개는 Azure Event Grid 이벤트 스키마를 참조하세요.
사용할 수 있는 이벤트 유형
Azure Container Registry는 다음과 같은 이벤트 유형을 내보냅니다.
이벤트 유형 | 설명 |
---|---|
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 |
string | 이벤트 원본에 대한 전체 리소스 경로입니다. 이 필드는 쓸 수 없습니다. Event Grid는 이 값을 제공합니다. |
subject |
string | 게시자가 정의한 이벤트 주체의 경로입니다. |
type |
string | 이 이벤트 원본에 대해 등록된 이벤트 유형 중 하나입니다. |
time |
string | 공급자의 UTC 시간을 기준으로 이벤트가 생성되는 시간입니다. |
id |
string | 이벤트에 대한 고유 식별자입니다. |
data |
개체 | Blob Storage 이벤트 데이터입니다. |
specversion |
string | CloudEvents 스키마 사양 버전입니다. |
데이터 개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
id |
string | 이벤트 ID입니다. |
timestamp |
string | 이벤트가 발생한 시간. |
action |
string | 제공된 이벤트를 포함하는 동작입니다. |
target |
개체 | 이벤트의 대상입니다. |
request |
개체 | 이벤트를 생성한 요청입니다. |
대상 개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
mediaType |
string | 참조된 개체의 MIME 형식입니다. |
size |
정수 | 콘텐츠의 바이트 수입니다. 길이 필드와 동일합니다. |
digest |
string | 콘텐츠의 다이제스트로, 레지스트리 V2 HTTP API 사양에 따라 정의됩니다. |
length |
정수 | 콘텐츠의 바이트 수입니다. 크기 필드와 동일합니다. |
repository |
string | 리포지토리 이름입니다. |
tag |
string | 태그 이름입니다. |
name |
string | 차트 이름입니다. |
version |
string | 차트 버전입니다. |
요청 개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
id |
string | 이벤트를 시작한 요청의 ID입니다. |
addr |
string | IP 또는 호스트 이름 및 가능한 경우 이벤트를 시작한 클라이언트 연결의 포트입니다. 이 값은 표준 http 요청에서 온 RemoteAddr입니다. |
host |
string | 외부에서 액세스할 수 있는 레지스트리 인스턴스의 호스트 이름으로, 들어오는 요청의 http 호스트 헤더를 통해 지정됩니다. |
method |
string | 이벤트를 생성한 요청 메서드입니다. |
useragent |
string | 요청의 사용자 에이전트 헤더입니다. |
connectedRegistry 개체에는 다음과 같은 속성이 있습니다.
속성 | Type | 설명 |
---|---|---|
name |
string | 이 이벤트를 생성한 연결된 레지스트리의 이름입니다. |
자습서 및 방법
제목 | 설명 |
---|---|
빠른 시작: 컨테이너 레지스트리 이벤트 전송 | Azure CLI를 사용하여 Container Registry 이벤트를 전송하는 방법을 보여줍니다. |
다음 단계
- Azure Event Grid에 대한 소개는 Event Grid란?을 참조하세요.
- Azure Event Grid 구독을 만드는 방법에 대한 자세한 내용은 Event Grid 구독 스키마를 참조하세요.