Share via


作為事件方格來源的 Azure Container Registry

本文提供 Container Registry 事件的屬性與結構描述。 如需事件結構描述的簡介,請參閱 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",
  "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"
}]

映像刪除事件的結構描述如下:

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

圖表推送事件的結構描述類似於影像推送事件的結構描述,但不包含要求物件:

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

圖表刪除事件的結構描述類似於影像刪除事件的結構描述,但不包含要求物件:

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

事件屬性

事件具有下列的最高層級資料:

屬性 類型​ 描述
topic string 事件來源的完整資源路徑。 此欄位無法寫入。 事件方格提供此值。
subject string 發行者定義事件主旨的路徑。
eventType string 此事件來源已註冊的事件類型之一。
eventTime string 事件產生的時間,以提供者的 UTC 時間為準。
id string 事件的唯一識別碼。
location string 事件的位置。
connectedRegistry object 如果事件是由連接的登錄所產生,則為連接的登錄資訊。
data object blob 儲存體帳戶。
dataVersion string 資料物件的結構描述版本。 發行者會定義結構描述版本。
metadataVersion string 事件中繼資料的結構描述版本。 「事件方格」會定義最上層屬性的結構描述。 事件方格提供此值。

資料物件具有下列屬性:

屬性 類型​ 描述
id string 事件識別碼。
timestamp string 事件發生的時間。
action string 包含所提供事件的動作。
target object 事件的目標。
request object 產生事件的要求。

target 物件具有下列屬性:

屬性 類型​ 描述
mediaType string 參考物件的 MIME 類型。
size 整數 內容的位元組數目。 與長度欄位相同。
digest string 如 Registry V2 HTTP API 規格所定義的內容摘要。
length 整數 內容的位元組數目。 [與大小相同] 欄位。
repository string 存放庫名稱。
tag string 標記名稱。
name string 圖表名稱。
version string 圖表版本。

request 物件具有下列屬性:

屬性 類型​ 描述
id string 起始事件之要求的識別碼。
addr string 用戶端連線 (用於起始事件) 的 IP 或主機名稱,也可能是連接埠。 在標準 http 要求中,此值是 RemoteAddr。
host string 登錄執行個體的外部可存取主機名稱,如內送要求上的 http 主機標頭所指定。
method string 產生事件的要求方法。
useragent string 要求的使用者代理程式標頭。

connectedRegistry 物件具有下列屬性:

屬性 類型​ 描述
name string 產生此事件之連接登錄的名稱。

教學課程和操作說明

標題 描述
快速入門:傳送容器登錄事件 示範如何使用 Azure CLI 傳送 Container Registry 事件。

下一步