Container Registry 用の Azure Event Grid イベント スキーマAzure Event Grid event schema for Container Registry

この記事では、Container Registry イベントのプロパティとスキーマについて説明します。This article provides the properties and schema for Container Registry events. イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。 For an introduction to event schemas, see Azure Event Grid event schema.

使用可能なイベントの種類Available event types

Azure Container Registry では、次の種類のイベントが生成されます。Azure Container Registry emits the following event types:

イベントの種類Event type 説明Description
Microsoft.ContainerRegistry.ImagePushedMicrosoft.ContainerRegistry.ImagePushed イメージがプッシュされたときに発生します。Raised when an image is pushed.
Microsoft.ContainerRegistry.ImageDeletedMicrosoft.ContainerRegistry.ImageDeleted イメージが削除されたときに発生します。Raised when an image is deleted.
Microsoft.ContainerRegistry.ChartPushedMicrosoft.ContainerRegistry.ChartPushed Helm チャートがプッシュされたときに発生します。Raised when a Helm chart is pushed.
Microsoft.ContainerRegistry.ChartDeletedMicrosoft.ContainerRegistry.ChartDeleted Helm チャートが削除されたときに発生します。Raised when a Helm chart is deleted.

イベントの例Example event

次の例は、イメージ プッシュ イベントのスキーマを示しています。The following example shows the schema of an image pushed event:

[{
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld:v1",
  "eventType": "ImagePushed",
  "eventTime": "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\\\\))"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

イメージ削除イベントのスキーマも似ています。The schema for an image deleted event is similar:

[{
  "id": "f06e3921-301f-42ec-b368-212f7d5354bd",
  "topic": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerRegistry/registries/<name>",
  "subject": "aci-helloworld",
  "eventType": "ImageDeleted",
  "eventTime": "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"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

チャート プッシュ イベントのスキーマはイメージ プッシュ イベントのスキーマと似ていますが、要求オブジェクトは含まれません。The schema for a chart pushed event is similar to the schema for an imaged pushed event, but it doesn't include a request object:

[{
  "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",
    "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"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

チャート削除イベントのスキーマはイメージ削除イベントのスキーマと似ていますが、要求オブジェクトは含まれません。The schema for a chart deleted event is similar to the schema for an imaged deleted event, but it doesn't include a request object:

[{
  "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",
    "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"
    }
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

イベントのプロパティEvent properties

イベントのトップレベルのデータを次に示します。An event has the following top-level data:

プロパティProperty TypeType 説明Description
topictopic stringstring イベント ソースの完全なリソース パス。Full resource path to the event source. このフィールドは書き込み可能ではありません。This field is not writeable. この値は Event Grid によって指定されます。Event Grid provides this value.
subjectsubject stringstring 発行元が定義したイベントの対象のパス。Publisher-defined path to the event subject.
eventTypeeventType stringstring このイベント ソース用に登録されたイベントの種類のいずれか。One of the registered event types for this event source.
eventTimeeventTime stringstring プロバイダーの UTC 時刻に基づくイベントの生成時刻。The time the event is generated based on the provider's UTC time.
idid stringstring イベントの一意識別子。Unique identifier for the event.
datadata objectobject Blob Storage イベントのデータ。Blob storage event data.
dataVersiondataVersion stringstring データ オブジェクトのスキーマ バージョン。The schema version of the data object. スキーマ バージョンは発行元によって定義されます。The publisher defines the schema version.
metadataVersionmetadataVersion stringstring イベント メタデータのスキーマ バージョン。The schema version of the event metadata. 最上位プロパティのスキーマは Event Grid によって定義されます。Event Grid defines the schema of the top-level properties. この値は Event Grid によって指定されます。Event Grid provides this value.

データ オブジェクトには、次のプロパティがあります。The data object has the following properties:

プロパティProperty TypeType 説明Description
idid stringstring イベント ID。The event ID.
timestamptimestamp stringstring イベントが発生した時刻。The time at which the event occurred.
actionaction stringstring 指定されたイベントを引き起こすアクション。The action that encompasses the provided event.
targettarget objectobject イベントのターゲット。The target of the event.
requestrequest objectobject イベントを生成した要求。The request that generated the event.

ターゲット オブジェクトには、次のプロパティがあります。The target object has the following properties:

プロパティProperty TypeType 説明Description
mediaTypemediaType stringstring 参照されているオブジェクトの MIME の種類。The MIME type of the referenced object.
sizesize integerinteger コンテンツのバイト数。The number of bytes of the content. length フィールドと同じです。Same as Length field.
digestdigest stringstring コンテンツのダイジェスト。Registry V2 HTTP API 仕様で定義されています。The digest of the content, as defined by the Registry V2 HTTP API Specification.
lengthlength integerinteger コンテンツのバイト数。The number of bytes of the content. size フィールドと同じです。Same as Size field.
repositoryrepository stringstring リポジトリの名前。The repository name.
tagtag stringstring タグ名。The tag name.
namename stringstring チャートの名前。The chart name.
versionversion stringstring チャートのバージョン。The chart version.

要求オブジェクトには、次のプロパティがあります。The request object has the following properties:

プロパティProperty TypeType 説明Description
idid stringstring イベントを開始した要求の ID。The ID of the request that initiated the event.
addraddr stringstring IP またはホスト名。イベントを開始したクライアント接続のポートの可能性もあります。The IP or hostname and possibly port of the client connection that initiated the event. この値は、標準 http 要求からの RemoteAddr です。This value is the RemoteAddr from the standard http request.
hosthost stringstring レジストリ インスタンスの外部からアクセス可能なホスト名。受信した要求の http ホスト ヘッダーで指定されています。The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.
methodmethod stringstring イベントを生成した要求メソッド。The request method that generated the event.
useragentuseragent stringstring 要求のユーザー エージェント ヘッダー。The user agent header of the request.

次の手順Next steps