Web kancası başvuru Azure Container Registry

Kapsayıcı kayıt defteriniz için belirli eylemler gerçekleştirildiğinde olaylar oluşturan web kancaları yapılandırabilirsiniz . Örneğin, bir kapsayıcı görüntüsü veya Helm grafiği bir kayıt defterine gönderildiğinde veya silindiğinde tetiklenen web kancalarını etkinleştirin. Bir web kancası tetiklendiğinde, Azure Container Registry belirttiğiniz bir uç noktaya olay hakkında bilgi içeren bir HTTP veya HTTPS isteği verir. Uç noktanız daha sonra web kancasını işleyebilir ve buna göre hareket edebilir.

Aşağıdaki bölümlerde desteklenen olaylar tarafından oluşturulan web kancası isteklerinin şeması ayrıntılı olarak açıklanır. Olay bölümleri olay türü için yük şemasını, örnek istek yükünü ve web kancasını tetikleyebilecek bir veya daha fazla örnek komutu içerir.

Azure kapsayıcı kayıt defteriniz için web kancalarını yapılandırma hakkında bilgi için bkz. Azure Container Registry web kancalarını kullanma.

Web kancası istekleri

HTTP isteği

Tetiklenen web kancası, web kancasını yapılandırırken belirttiğiniz URL uç noktasına bir HTTP POST isteğinde bulunur.

HTTP üst bilgileri

Web kancası istekleri, web kancanız için özel bir Content-Type üst bilgi belirtmediyseniz öğesini içerir.Content-Typeapplication/json

web kancası için belirtmiş olabileceğiniz özel üst bilgilerin ötesinde isteğe başka üst bilgi eklenmez.

Gönderme olayı

Kapsayıcı görüntüsü bir depoya gönderildiğinde web kancası tetikleniyor.

Anında iletme olayı yükü

Öğe Tür Description
id Dize Web kancası olayının kimliği.
timestamp DateTime Web kancası olayının tetiklendiği saat.
action Dize Web kancası olayını tetikleyen eylem.
Hedef Karmaşık Tür Web kancası olayını tetikleyen olayın hedefi.
Istek Karmaşık Tür Web kancası olayını oluşturan istek.

Hedef

Öğe Tür Description
mediaType Dize Başvuruda bulunılan nesnenin MIME türü.
size Int32 İçeriğin bayt sayısı. Uzunluk alanıyla aynı.
digest Dize Kayıt Defteri V2 HTTP API Belirtimi tarafından tanımlanan içeriğin özeti.
length Int32 İçeriğin bayt sayısı. Boyut alanıyla aynı.
repository Dize Depo adı.
tag Dize Görüntü etiketi adı.

istek

Öğe Tür Description
id Dize Olayı başlatan isteğin kimliği.
host Dize Gelen isteklerde HTTP ana bilgisayar üst bilgisi tarafından belirtildiği gibi kayıt defteri örneğinin dışarıdan erişilebilir ana bilgisayar adı.
method Dize Olayı oluşturan istek yöntemi.
useragent Dize İsteğin kullanıcı aracısı üst bilgisi.

Yük örneği: görüntü gönderme olayı

{
  "id": "cb8c3971-9adc-488b-xxxx-43cbb4974ff5",
  "timestamp": "2017-11-17T16:52:01.343145347Z",
  "action": "push",
  "target": {
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "size": 524,
    "digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
    "length": 524,
    "repository": "hello-world",
    "tag": "v1"
  },
  "request": {
    "id": "3cbb6949-7549-4fa1-xxxx-a6d5451dffc7",
    "host": "myregistry.azurecr.io",
    "method": "PUT",
    "useragent": "docker/17.09.0-ce go/go1.8.3 git-commit/afdb6d4 kernel/4.10.0-27-generic os/linux arch/amd64 UpstreamClient(Docker-Client/17.09.0-ce \\(linux\\))"
  }
}

Görüntü gönderme olayı web kancasını tetikleyen örnek Docker CLI komutu:

docker push myregistry.azurecr.io/hello-world:v1

Grafik gönderme olayı

Helm grafiği bir depoya gönderildiğinde tetiklenen web kancası.

Grafik anında iletme olayı yükü

Öğe Tür Description
id Dize Web kancası olayının kimliği.
timestamp DateTime Web kancası olayının tetiklendiği saat.
action Dize Web kancası olayını tetikleyen eylem.
Hedef Karmaşık Tür Web kancası olayını tetikleyen olayın hedefi.

Hedef

Öğe Tür Description
mediaType Dize Başvuruda bulunılan nesnenin MIME türü.
size Int32 İçeriğin bayt sayısı.
digest Dize Kayıt Defteri V2 HTTP API Belirtimi tarafından tanımlanan içeriğin özeti.
repository Dize Depo adı.
tag Dize Grafik etiketi adı.
name Dize Grafik adı.
version Dize Grafik sürümü.

Yük örneği: grafik gönderme olayı

{
  "id": "6356e9e0-627f-4fed-xxxx-d9059b5143ac",
  "timestamp": "2019-03-05T23:45:31.2614267Z",
  "action": "chart_push",
  "target": {
    "mediaType": "application/vnd.acr.helm.chart",
    "size": 25265,
    "digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
    "repository": "repo",
    "tag": "wordpress-5.4.0.tgz",
    "name": "wordpress",
    "version": "5.4.0.tgz"
  }
}

chart_push olayı web kancasını tetikleyen örnek Azure CLI komutu:

az acr helm push wordpress-5.4.0.tgz --name MyRegistry

Olayı silme

Bir görüntü deposu veya bildirim silindiğinde web kancası tetikleniyor. Bir etiket silindiğinde tetiklenmez.

Olay yükünü silme

Öğe Tür Description
id Dize Web kancası olayının kimliği.
timestamp DateTime Web kancası olayının tetiklendiği saat.
action Dize Web kancası olayını tetikleyen eylem.
Hedef Karmaşık Tür Web kancası olayını tetikleyen olayın hedefi.
Istek Karmaşık Tür Web kancası olayını oluşturan istek.

Hedef

Öğe Tür Description
mediaType Dize Başvuruda bulunılan nesnenin MIME türü.
digest Dize Kayıt Defteri V2 HTTP API Belirtimi tarafından tanımlanan içeriğin özeti.
repository Dize Depo adı.

istek

Öğe Tür Description
id Dize Olayı başlatan isteğin kimliği.
host Dize Gelen isteklerde HTTP ana bilgisayar üst bilgisi tarafından belirtildiği gibi kayıt defteri örneğinin dışarıdan erişilebilir ana bilgisayar adı.
method Dize Olayı oluşturan istek yöntemi.
useragent Dize İsteğin kullanıcı aracısı üst bilgisi.

Yük örneği: görüntü silme olayı

{
    "id": "afc359ce-df7f-4e32-xxxx-1ff8aa80927b",
    "timestamp": "2017-11-17T16:54:53.657764628Z",
    "action": "delete",
    "target": {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "digest": "sha256:xxxxd5c8786bb9e621a45ece0dbxxxx1cdc624ad20da9fe62e9d25490f33xxxx",
      "repository": "hello-world"
    },
    "request": {
      "id": "3d78b540-ab61-4f75-xxxx-7ca9ecf559b3",
      "host": "myregistry.azurecr.io",
      "method": "DELETE",
      "useragent": "python-requests/2.18.4"
    }
  }

Silme olayı web kancasını tetikleyen örnek Azure CLI komutları:

# Delete repository
az acr repository delete --name MyRegistry --repository MyRepository

# Delete image
az acr repository delete --name MyRegistry --image MyRepository:MyTag

Grafik silme olayı

Helm grafiği veya deposu silindiğinde tetiklenen web kancası.

Grafik silme olayı yükü

Öğe Tür Description
id Dize Web kancası olayının kimliği.
timestamp DateTime Web kancası olayının tetiklendiği saat.
action Dize Web kancası olayını tetikleyen eylem.
Hedef Karmaşık Tür Web kancası olayını tetikleyen olayın hedefi.

Hedef

Öğe Tür Description
mediaType Dize Başvuruda bulunılan nesnenin MIME türü.
size Int32 İçeriğin bayt sayısı.
digest Dize Kayıt Defteri V2 HTTP API Belirtimi tarafından tanımlanan içeriğin özeti.
repository Dize Depo adı.
tag Dize Grafik etiketi adı.
name Dize Grafik adı.
version Dize Grafik sürümü.

Yük örneği: grafik silme olayı

{
  "id": "338a3ef7-ad68-4128-xxxx-fdd3af8e8f67",
  "timestamp": "2019-03-06T00:10:48.1270754Z",
  "action": "chart_delete",
  "target": {
    "mediaType": "application/vnd.acr.helm.chart",
    "size": 25265,
    "digest": "sha256:xxxx8075264b5ba7c14c23672xxxx52ae6a3ebac1c47916e4efe19cd624dxxxx",
    "repository": "repo",
    "tag": "wordpress-5.4.0.tgz",
    "name": "wordpress",
    "version": "5.4.0.tgz"
  }
}

chart_delete olayı web kancasını tetikleyen örnek Azure CLI komutu:

az acr helm delete wordpress --version 5.4.0 --name MyRegistry

Sonraki adımlar

Azure Container Registry web kancalarını kullanma