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. | |
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 portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
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.
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
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
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"
registrationState
Registered
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.
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: