Veri değişikliği bildirimlerini Uygulama Yapılandırması için Event Grid kullanma
Bu makalede, web uç noktasına anahtar-değer değişikliği olayları göndermek için Azure Uygulaması Yapılandırma olayı aboneliklerini ayarlamayı öğreneceksiniz. Azure Uygulaması Yapılandırma kullanıcıları anahtar-değerler değiştirildiğinde yayılan olaylara abone olabilir. Bu olaylar web kancalarını, Azure İşlevleri, Azure Depolama Kuyruklarını veya Azure Event Grid tarafından desteklenen diğer olay işleyicilerini tetikleyebilir. Normalde olayları, olay verilerini işleyen ve eylemler gerçekleştiren bir uç noktaya gönderirsiniz. Bununla birlikte, bu makaleyi basitleştirmek için olayları iletilerin toplandığı ve görüntülendiği bir web uygulamasına gönderirsiniz.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun. İsteğe bağlı olarak Azure Cloud Shell'i kullanabilirsiniz.
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 makalede 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ı Azure kaynaklarıdır ve bir Azure kaynak grubuna yerleştirilmelidir. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal koleksiyondur.
az group create komutuyla bir kaynak grubu oluşturun.
Aşağıdaki örnek westus konumunda adlı <resource_group_name>
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 westus
Uygulama Yapılandırması deposu oluşturma
öğesini yapılandırma deponuz için benzersiz bir adla ve <resource_group_name>
daha önce oluşturduğunuz kaynak grubuyla değiştirin<appconfig_name>
. Ad, DNS adı olarak kullanıldığından benzersiz olmalıdır.
az appconfig create \
--name <appconfig_name> \
--location westus \
--resource-group <resource_group_name> \
--sku free
İ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/master/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.
Uygulama Yapılandırması mağazanıza abone olma
Event Grid’e hangi olayları izlemek istediğinizi ve bu olayların nereye gönderileceğini bildirmek için bir konuya abone olursunuz. Aşağıdaki örnek, oluşturduğunuz Uygulama Yapılandırması 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 <appconfig_name>
için daha önce oluşturduğunuz değerleri kullanın.
Web uygulamanızın uç noktası /api/updates/
sonekini içermelidir.
appconfigId=$(az appconfig show --name <appconfig_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $appconfigId \
--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.
Uygulama Yapılandırması olayı tetikleme
Şimdi, Event Grid’in iletiyi uç noktanıza nasıl dağıttığını görmek için bir olay tetikleyelim. Önceki sürümlerden öğesini kullanarak <appconfig_name>
bir anahtar-değer oluşturun.
az appconfig kv set --name <appconfig_name> --key Foo --value Bar --yes
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": "00000000-0000-0000-0000-000000000000",
"topic": "/subscriptions/{subscription-id}/resourceGroups/eventDemoGroup/providers/microsoft.appconfiguration/configurationstores/{appconfig-name}",
"subject": "https://{appconfig-name}.azconfig.io/kv/Foo",
"data": {
"key": "Foo",
"etag": "a1LIDdNEIV6wCnfv3xaip7fMXD3",
"syncToken":"zAJw6V16=Njo1IzMzMjE3MzA=;sn=3321730"
},
"eventType": "Microsoft.AppConfiguration.KeyValueModified",
"eventTime": "2019-05-31T18:59:54Z",
"dataVersion": "1",
"metadataVersion": "1"
}]
Kaynakları temizleme
Bu Uygulama Yapılandırması ve olay aboneliğiyle çalışmaya devam etmek istiyorsanız, bu makalede oluşturulan kaynakları temizlemeyin. Devam etmeyi planlamıyorsanız, aşağıdaki komutu kullanarak bu makalede oluşturduğunuz kaynakları silin.
<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ı bildiğinize göre, anahtar-değer olayları ve Event Grid'in size yardımcı olabilecekleri hakkında daha fazla bilgi edinin: