Aracılığıyla paylaş


OLAYLARı API Management'tan Event Grid'e gönderme

UYGULANANLAR: Tüm API Management katmanları

API Management, diğer hizmetlere olay bildirimleri gönderebilmeniz ve aşağı akış işlemlerini tetikleyebilmeniz için Azure Event Grid ile tümleştirilir. Event Grid, yayımlama-abone olma modeli kullanan tam olarak yönetilen bir olay yönlendirme hizmetidir. Event Grid, Azure İşlevleri ve Azure Logic Apps gibi Azure hizmetleri için yerleşik desteğe sahiptir ve web kancalarını kullanarak Azure kapsamında olmayan hizmetlere olay uyarıları gönderebilir.

Örneğin, Event Grid ile tümleştirmeyi kullanarak bir veritabanını güncelleştiren, ödeme hesabı oluşturan ve API Management örneğinize her kullanıcı eklendiğinde e-posta bildirimi gönderen bir uygulama oluşturabilirsiniz.

Bu makalede API Management örneğinizdeki Event Grid olaylarına abone olacak, olayları tetikler ve olayları verileri işleyen bir uç noktaya gönderirsiniz. Basit tutmak için, iletileri toplayan ve görüntüleyen örnek bir web uygulamasına olay gönderirsiniz:

Event Grid görüntüleyicisinde API Management olayları

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Olay uç noktası oluşturma

Bu bölümde, önceden oluşturulmuş bir örnek web uygulamasını Azure Uygulaması Service'e dağıtmak için Resource Manager şablonu kullanacaksınız. Daha sonra API Management örneğinizin Event Grid olaylarına abone olur ve bu uygulamayı olayların gönderildiği uç nokta olarak belirtirsiniz.

Örnek uygulamayı dağıtmak için Azure CLI, Azure PowerShell veya Azure portalını kullanabilirsiniz. Aşağıdaki örnekte Azure CLI'da az deployment group create komutu kullanılmaktadır.

  • Var olan bir kaynak grubunun adına ayarlayın RESOURCE_GROUP_NAME

  • Web uygulamanız için benzersiz bir ad olarak ayarlayın SITE_NAME

    Web uygulamasının tam etki alanı adının (FQDN) bir parçasını oluşturması nedeniyle site adı Azure'da benzersiz olmalıdır. Sonraki bir bölümde, olayları görüntülemek için web tarayıcısında uygulamanın FQDN'sine gidersiniz.

RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>

az deployment group create \
    --resource-group $RESOURCE_GROUP_NAME \
    --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
    --parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan

Dağıtım başarılı olduktan sonra (birkaç dakika sürebilir), bir tarayıcı açın ve çalıştığından emin olmak için web uygulamanıza gidin:

https://<your-site-name>.azurewebsites.net

Örnek uygulamanın hiçbir olay iletisi görüntülenmeden işlendiğini görmeniz gerekir.

Event Grid kaynak sağlayıcısını kaydetme

Event Grid'i daha önce kullanmadıysanız Event Grid kaynak sağlayıcısını kaydetmeniz gerekir. Event Grid'i daha önce kullandıysanız sonraki bölüme geçin.

Azure portalında aşağıdaki adımları uygulayın:

  1. Soldaki menüde Abonelikler'i seçin.

  2. Abonelik listesinden Event Grid için kullanmak istediğiniz aboneliği seçin.

  3. Abonelik sayfasında, soldaki menüden Ayarlar altında Kaynak sağlayıcıları'nı seçin.

  4. Microsoft.EventGrid'i arayın ve Durum'un Kayıtlı Olmadığını onaylayın.

  5. Sağlayıcı listesinden Microsoft.EventGrid'i seçin.

  6. Komut çubuğunda Kaydet'i seçin.

    Microsoft.EventGrid sağlayıcısının Azure aboneliğine kaydını gösteren görüntü.

  7. Microsoft.EventGrid'in durumunun Kayıtlı olarak değiştirildiğinden emin olmak için yenileyin.

    Microsoft.EventGrid sağlayıcısının Azure aboneliğine başarıyla kaydedilmesini gösteren görüntü.

API Management olaylarına abone olma

Event Grid'de, hangi olayları izlemek istediğinizi ve bunları nereye gönderebileceğinizi bildirmek için bir konuya abone olursunuz. Burada API Management örneğinizdeki olaylara abonelik oluşturacaksınız.

  1. Azure portalında API Management örneğine gidin.

  2. Olaylar > + Olay Aboneliği'ne tıklayın.

  3. Temel sekmesinde:

    • Olay aboneliği için açıklayıcı bir Ad girin.
    • Event Grid'e göndermek için Olay Türleri'nde bir veya daha fazla API Management olay türü seçin. Bu makaledeki örnek için en az Microsoft.APIManagement.ProductCreated öğesini seçin
    • Uç Nokta Ayrıntıları'nda Web Kancası olay türünü seçin, Uç nokta seçin'e tıklayın ve ardından web uygulaması URL'nizi api/updatesgirin. Örnek: https://myapp.azurewebsites.net/api/updates.
    • Seçimi onayla'yı seçin.
  4. Kalan sekmelerdeki ayarları varsayılan değerlerinde bırakın ve oluştur'u seçin.

    Azure portalında olay aboneliği oluşturma

Olayları tetikleme ve görüntüleme

Örnek uygulama çalışır durumda olduğuna ve Event Grid ile API Management örneğine abone olduğunuz için artık olaylar oluşturmaya hazırsınız.

Örnek olarak, API Management örneğinizde bir ürün oluşturun. Olay aboneliğiniz Microsoft.APIManagement.ProductCreated olayını içeriyorsa, ürün oluşturmak web uygulaması uç noktanıza gönderilen bir olayı tetikler.

Event Grid Görüntüleyicisi web uygulamanıza gidin ve olayı görmeniz ProductCreated gerekir. Ayrıntıları göstermek için etkinliğin yanındaki düğmeyi seçin.

Event Grid görüntüleyicisinde ürün oluşturma olayı

Event Grid olay şeması

API Management olay verileri, olayı tetikleyen API Management kaynağını tanımlayan öğesini içerir resourceUri. API Management olay iletisi şeması hakkında ayrıntılı bilgi için Event Grid belgelerine bakın:

API Management için Azure Event Grid olay şeması

Sonraki adımlar