Aracılığıyla paylaş


Hızlı Başlangıç: Azure CLI ile Redis için Azure Cache olaylarını web uç noktasına yönlendirme

Azure Event Grid, bulut için bir olay oluşturma hizmetidir. Bu hızlı başlangıçta Azure CLI'yi kullanarak Redis için Azure Cache olaylara abone olacak, bir olayı tetikleyebilecek ve sonuçları görüntüleyebileceksiniz.

Normalde olayları, olay verilerini işleyen ve eylemler gerçekleştiren bir uç noktaya gönderirsiniz. Ancak bu hızlı başlangıcı basitleştirmek için, iletileri toplayacak ve görüntüleyecek bir web uygulamasına olaylar göndereceksiniz. Bu hızlı başlangıçta açıklanan adımları tamamladığınızda, olay verilerinin web uygulamasına gönderildiğini göreceksiniz.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

CLI'yi yerel olarak yükleyip kullanmayı seçerseniz, bu hızlı başlangıç için Azure CLI'nın en son sürümünü (2.0.70 veya üzeri) çalıştırmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Cloud Shell kullanmıyorsanız önce az login kullanarak oturum açmanız gerekir.

Kaynak grubu oluşturma

Event Grid konuları tek tek Azure kaynakları olarak dağıtılır ve bir Azure kaynak grubu altında sağlanmalıdır. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir koleksiyondur.

az group create komutuyla bir kaynak grubu oluşturun.

Aşağıdaki örnek westcentralus konumunda <resource_group_name> adlı bir kaynak grubu oluşturur. <resource_group_name> değerini kaynak grubunuz için benzersiz bir adla değiştirin.

az group create --name <resource_group_name> --location westcentralus

Önbellek örneği oluşturma

#/bin/bash

# Create a Basic C0 (256 MB) Azure Cache for Redis instance
az redis create --name <cache_name> --resource-group <resource_group_name> --location westcentralus --sku Basic --vm-size C0

İleti uç noktası oluşturma

Konuya abone olmadan önce olay iletisi için uç noktayı oluşturalım. Normalde, olay verileri temelinde uç nokta eylemleri gerçekleştirir. Bu hızlı başlangıcı basitleştirmek için, olay iletilerini görüntüleyin bir önceden oluşturulmuş web uygulaması dağıtırsınız. Dağıtılan çözüm bir App Service planı, App Service web uygulaması ve GitHub'dan kaynak kod içerir.

<your-site-name> değerini web uygulamanız için benzersiz bir adla değiştirin. Web uygulaması adı bir DNS girdisinin parçası olduğundan benzersiz olmalıdır.

sitename=<your-site-name>

az deployment group create \
  --resource-group <resource_group_name> \
  --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \
  --parameters siteName=$sitename hostingPlanName=viewerhost

Dağıtımın tamamlanması birkaç dakika sürebilir. Dağıtım başarıyla gerçekleştirildikten sonra, web uygulamanızı görüntüleyip çalıştığından emin olun. Web tarayıcısında şu adrese gidin: https://<your-site-name>.azurewebsites.net

Şu anda iletilerin görüntülenmediği siteyi görüyor olmalısınız.

Event Grid kaynak sağlayıcısını etkinleştirme

  1. Daha önce Azure aboneliğinizde Event Grid kullanmadıysanız Event Grid kaynak sağlayıcısını kaydetmeniz gerekebilir. Sağlayıcıyı kaydetmek için şu komutu çalıştırın:

    az provider register --namespace Microsoft.EventGrid
    
  2. Kaydın tamamlanması biraz zaman alabilir. Durumu denetlemek için aşağıdaki komutu çalıştırın:

    az provider show --namespace Microsoft.EventGrid --query "registrationState"
    

    registrationStateRegistered olduğu zaman devam edebilirsiniz.

Redis için Azure Cache örneğine abone olma

Bu adımda, Event Grid'e hangi olayları izlemek istediğinizi ve bu olayları nereye gönderebileceğinizi bildirmek için bir konuya abone olacaksınız. Aşağıdaki örnek, oluşturduğunuz Redis için Azure Cache örneğine abone olup web uygulamanızdaki URL'yi olay bildirimi için uç nokta olarak geçirir. Olay aboneliğiniz için <event_subscription_name> öğesini bir ad ile değiştirin. <resource_group_name> ve <cache_name> için daha önce oluşturduğunuz değerleri kullanın.

Web uygulamanızın uç noktası /api/updates/ sonekini içermelidir.

cacheId=$(az redis show --name <cache_name> --resource-group <resource_group_name> --query id --subscription <subscription_id> --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates

az eventgrid event-subscription create \
  --source-resource-id $cacheId \
  --name <event_subscription_name> \
  --endpoint $endpoint

Web uygulamanızı yeniden görüntüleyin ve buna bir abonelik doğrulama olayının gönderildiğine dikkat edin. Göz simgesini seçerek olay verilerini genişletin. Uç noktanın olay verilerini almak istediğini doğrulayabilmesi için Event Grid doğrulama olayını gönderir. Web uygulaması aboneliği doğrulamak için kod içerir.

Azure Event Grid Görüntüleyicisi.

Redis için Azure Cache bir olayı tetikleme

Şimdi, Event Grid’in iletiyi uç noktanıza nasıl dağıttığını görmek için bir olay tetikleyelim. şimdi Redis için Azure Cache örneğinizde depolanan verileri dışarı aktaralım. Yeniden, daha önce oluşturduğunuz ve {resource_group_name} değerlerini {cache_name} kullanın.

az redis export  --ids '/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}' \
    --prefix '<prefix_for_exported_files>' \
    --container '<SAS_url>'  

Olayı tetiklediniz ve Event Grid, iletiyi abone olurken yapılandırdığınız uç noktaya gönderdi. Az önce gönderdiğiniz olayı görmek için web uygulamanızı görüntüleyin.

[{
"id": "e1ceb52d-575c-4ce4-8056-115dec723cff",
  "eventType": "Microsoft.Cache.ExportRDBCompleted",
  "topic": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
  "data": {
    "name": "ExportRDBCompleted",
    "timestamp": "2020-12-10T18:07:54.4937063+00:00",
    "status": "Succeeded"
  },
  "subject": "ExportRDBCompleted",
  "dataversion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2020-12-10T18:07:54.4937063+00:00"
}]

Kaynakları temizleme

Bu Redis için Azure Cache örneği ve olay aboneliğiyle çalışmaya devam etmek istiyorsanız, bu hızlı başlangıçta oluşturulan kaynakları temizlemeyin. Devam etmek istemiyorsanız, bu hızlı başlangıçta oluşturduğunuz kaynakları silmek için aşağıdaki komutu kullanın.

<resource_group_name> değerini yukarıda oluşturduğunuz kaynak grubuyla değiştirin.

az group delete --name <resource_group_name>

Sonraki adımlar

Artık konu ve olay abonelikleri oluşturmayı öğrendiğinize göre, Redis için Azure Cache Olayları ve Event Grid'in size yardımcı olabilecekleri hakkında daha fazla bilgi edinin: