Aracılığıyla paylaş


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

Önemli

Redis için Azure Cache, tüm SKU'lar için kullanımdan kaldırma zaman çizelgesini duyurdu. Mevcut Redis için Azure Cache örneklerinizi en kısa sürede Azure Yönetilen Redis'e taşımanızı öneririz.

Kullanımdan kaldırma hakkında daha fazla bilgi için:

Azure Event Grid, bulut için bir olay oluşturma hizmetidir. Bu hızlı başlangıçta Redis için Azure Cache olaylarına abone olmak, bir olayı tetikleme ve sonuçları görüntülemek için Azure PowerShell'i kullanacaksınız.

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.

Kurulum

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

Azure'a Giriş Yap

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

Connect-AzAccount

Bu örnek westus2 kullanır ve seçimi tüm kullanım için bir değişkende depolar.

$location = "westus2"

Bir kaynak grubu oluşturun

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 bkz. Azure PowerShell başvurusu.

İleti uç noktası oluşturma

Konuya abone olmadan önce olay iletisi için uç noktayı oluşturalım. Uç nokta genellikle olay verilerine göre eylemler 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ı, bir App Service web uygulaması ve GitHub'dan kaynak kodu 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 hiçbir mesajın görüntülenmediği siteyi görmelisiniz.

Boş Event Grid Görüntüleyicisi sitesi.

Azure Cache for Redis etkinliğinize abone olun

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 abone olup 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 bir abonelik doğrulama olayının gönderildiğini farkedeceksiniz. Olay verilerini genişletmek için göz simgesini seçin. Event Grid, uç noktanın olay verilerini almak istediğini doğrulayabilmesi için 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.

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 bkz. Azure PowerShell başvurusu.

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ı temizle

Bu Azure Cache for Redis örneği ile olay aboneliğiyle çalışmaya devam etmek istiyorsanız, bu hızlı başlangıç kılavuzunda 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

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