Azure Container Registry webhook'larını kullanma

Azure kapsayıcı kayıt defteri, Docker Hub'ın genel Docker görüntülerini depolama yöntemine benzer şekilde özel Docker kapsayıcı görüntülerini depolar ve yönetir. Uygulamaları Kubernetes'e dağıtmak için bir paketleme biçimi olan Helm grafikleri (önizleme) depolarını da barındırabilir. Kayıt defteri depolarınızdan birinde belirli eylemler gerçekleştiğinde olayları tetikleme amacıyla web kancalarını kullanabilirsiniz. Web kancaları, kayıt defteri düzeyindeki olaylara yanıt verebilir veya kapsamı belirli bir depo etiketine kadar daraltılabilir. Coğrafi olarak çoğaltılmış bir kayıt defteriyle, her web kancasını belirli bir bölgesel çoğaltmadaki olaylara yanıt verecek şekilde yapılandırabilirsiniz.

Web kancası uç noktasına kayıt defterinden genel olarak erişilebilir olmalıdır. Güvenli bir uç noktada kimlik doğrulaması yapmak için kayıt defteri web kancası isteklerini yapılandırabilirsiniz.

Web kancası istekleriyle ilgili ayrıntılar için bkz. Azure Container Registry web kancası şema başvurusu.

Prerequisites

Web kancası oluşturma - Azure portalı

  1. Azure portalınaoturum açın.
  2. Webhook oluşturmak istediğiniz kapsayıcı kayıt defterine gidin.
  3. Hizmetler altında Webhooks'u seçin.
  4. Web kancası araç çubuğunda Ekle'yi seçin.
  5. Web kancası oluştur formunu aşağıdaki bilgilerle doldurun:
Value Description
Webhook adı Webhook'a vermek istediğiniz ad. Yalnızca harf ve sayı içerebilir ve 5-50 karakter uzunluğunda olmalıdır.
Location Coğrafi olarak çoğaltılan bir kayıt defteri için kayıt defteri çoğaltmasının Azure bölgesini belirtin.
Hizmet URI'si Webhook'un POST bildirimlerini göndermesi gereken URI.
Özel başlıklar POST isteğiyle birlikte geçirmek istediğiniz üst bilgiler. "anahtar: değer" biçiminde olmalıdır.
Tetikleyici eylemleri Web kancasını tetikleyen eylemler. Eylemler arasında görüntü gönderme, görüntü silme, Helm grafiği gönderme, Helm grafiği silme ve görüntü karantinası yer alır. Web kancasını tetikleyen bir veya daha fazla eylem seçebilirsiniz.
Status Webhook oluşturulduktan sonraki durumu. Varsayılan olarak etkindir.
Scope Web kancasının çalıştığı kapsam. Belirtilmezse, kapsam kayıt defterindeki tüm olaylar içindir. Bir depo veya etiket için, "repository:tag" biçimi kullanılabilir veya bir deponun altındaki tüm etiketler için "repository:*" biçimi tercih edilebilir.

Örnek webhook formu:

Azure portalında ACR web kancası oluşturma U I'yi gösteren ekran görüntüsü.

Web kancası oluşturma - Azure CLI

Azure CLI kullanarak web kancası oluşturmak için az acr webhook create komutunu kullanın. Aşağıdaki komut , mycontainer kayıt defterindeki tüm görüntü silme olayları için bir web kancası oluşturur:

az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com

Web kancasını test et

Azure portal

Web kancasını kullanmadan önce Ping düğmesiyle test edebilirsiniz. Ping belirtilen uç noktaya genel bir POST isteği gönderir ve yanıtı günlüğe kaydeder. Ping özelliğini kullanmak, web kancasını doğru yapılandırdığınızdan emin olmanıza yardımcı olabilir.

  1. Test etmek istediğiniz web kancasını seçin.
  2. Üst araç çubuğunda Ping'i seçin.
  3. HTTP STATUS sütununda uç noktanın yanıtını denetleyin.

Azure portalında ACR web kancası oluşturma kullanıcı arabirimi

Azure CLI

ACR web kancasını Azure CLI ile test etmek için az acr webhook ping komutunu kullanın.

az acr webhook ping --registry mycontainerregistry --name myacrwebhook01

Sonuçları görmek için az acr webhook list-events komutunu kullanın.

az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01

Web kancasını silme

Azure portal

Her bir webhook, webhook'u seçip ardından Azure portalında Sil düğmesi seçilerek silinebilir.

Azure CLI

az acr webhook delete --registry mycontainerregistry --name myacrwebhook01

Sonraki Adımlar

Webhook şema referansı

Azure Container Registry tarafından çıkartılan JSON olay yüklerinin biçimi ve özellikleri hakkında ayrıntılı bilgi için web kancası şema referansına bakın.

Azure Container Registry webhook şema referansı

Event Grid olayları

Bu makalede açıklanan yerel kayıt defteri web kancası olaylarına ek olarak, Azure Container Registry olayları Event Grid'e yayabilir:

Hızlı Başlangıç: Event Grid'e kapsayıcı kayıt defteri olayları gönderme