Hızlı Başlangıç: PowerShell 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 PowerShell 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 toplayıp görüntüleyen bir web uygulamasına olaylar gönderirsiniz. Bu hızlı başlangıçta açıklanan adımları tamamladığınızda, olay verilerinin web uygulamasına gönderildiğini görürsünüz.

Kurulum

Bu hızlı başlangıç için Azure PowerShell'nin en son sürümünü çalıştırmanız gerekir. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure PowerShell yükleme ve yapılandırma.

Azure'da oturum açma

Komutuyla Connect-AzAccount Azure aboneliğinizde oturum açın ve kimlik doğrulaması için ekrandaki yönergeleri izleyin.

Connect-AzAccount

Bu örnekte westus2 kullanılır ve seçim boyunca kullanılmak üzere bir değişkende depolanır.

$location = "westus2"

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.

New-AzResourceGroup komutuyla bir kaynak grubu oluşturun.

Aşağıdaki örnek westus2 konumunda gridResourceGroup adlı bir kaynak grubu oluşturur.

$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location

Redis için Azure Cache örneği oluşturma

New-AzRedisCache
   -ResourceGroupName <String>
   -Name <String>
   -Location <String>
   [-Size <String>]
   [-Sku <String>]
   [-RedisConfiguration <Hashtable>]
   [-EnableNonSslPort <Boolean>]
   [-TenantSettings <Hashtable>]
   [-ShardCount <Int32>]
   [-MinimumTlsVersion <String>]
   [-SubnetId <String>]
   [-StaticIP <String>]
   [-Tag <Hashtable>]
   [-Zone <String[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

PowerShell'de önbellek örneği oluşturma hakkında daha fazla bilgi için Azure PowerShell başvurusuna bakın.

İ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>"

New-AzResourceGroupDeployment `
  -ResourceGroupName $resourceGroup `
  -TemplateUri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" `
  -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 Görüntüleyicisi sitesini boşaltın.

Redis için Azure Cache olayınıza abone olma

Bu adımda, Event Grid'e hangi olayları izlemek istediğinizi bildirmek için bir konuya abone olacaksınız. Aşağıdaki örnek, oluşturduğunuz önbellek örneğine abonedir ve web uygulamanızdaki URL'yi olay bildirimi için uç nokta olarak geçirir. Web uygulamanızın uç noktası /api/updates/ sonekini içermelidir.

$cacheId = (Get-AzRedisCache -ResourceGroupName $resourceGroup -Name $cacheName).Id
$endpoint="https://$sitename.azurewebsites.net/api/updates"

New-AzEventGridSubscription `
  -EventSubscriptionName <event_subscription_name> `
  -Endpoint $endpoint `
  -ResourceId $cacheId

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.

görüntüleyiciyi Azure Event Grid.

Redis için Azure Cache'dan olay tetikleme

Şimdi, Event Grid’in iletiyi uç noktanıza nasıl dağıttığını görmek için bir olay tetikleyelim.

Import-AzRedisCache
      [-ResourceGroupName <String>]
      -Name <String>
      -Files <String[]>
      [-Format <String>]
      [-Force]
      [-PassThru]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

PowerShell'de içeri aktarma hakkında daha fazla bilgi için Azure PowerShell başvurusuna bakın.

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.ImportRDBCompleted",
  "topic": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
  "data": {
    "name": "ImportRDBCompleted",
    "timestamp": "2020-12-10T18:07:54.4937063+00:00",
    "status": "Succeeded"
  },
  "subject": "ImportRDBCompleted",
  "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.

Remove-AzResourceGroup -Name $resourceGroup

Sonraki adımlar

Konuları ve olay aboneliklerini 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: