Mulai Cepat: Merutekan kejadian Azure Cache for Redis ke titik akhir web dengan Azure CLI

Azure Event Grid adalah layanan pembuat peristiwa untuk cloud. Dalam mulai cepat ini, Anda akan menggunakan Azure CLI untuk berlangganan kejadian Azure Cache for Redis, pemicu kejadian, dan melihat hasilnya.

Biasanya, Anda mengirim peristiwa ke titik akhir yang memproses data peristiwa dan mengambil tindakan. Namun, untuk menyederhanakan mulai cepat ini, Anda akan mengirim kejadian ke aplikasi web yang akan mengumpulkan dan menampilkan pesan. Saat menyelesaikan langkah-langkah yang dijelaskan dalam mulai cepat ini, Anda akan melihat bahwa data kejadian telah dikirim ke aplikasi web.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Button to launch Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Jika Anda memilih untuk memasang dan menggunakan CLI secara lokal, mulai cepat ini mengharuskan Anda menjalankan versi terbaru Azure CLI (2.0.70 atau yang lebih baru). Jalankan az --version untuk mencari tahu versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Jika Anda tidak menggunakan Cloud Shell, Anda harus masuk terlebih dulu menggunakan az login.

Buat grup sumber daya

Topik Event Grid disebarkan sebagai sumber daya individual Azure dan harus tersedia di dalam grup sumber daya Azure. Grup sumber daya Azure adalah koleksi logis tempat sumber daya Azure disebarkan dan dikelola.

Buat grup sumber daya dengan perintah az group create.

Contoh berikut ini menampilkan cara membuat grup sumber daya bernama <resource_group_name> di lokasi westcentralus. Ganti <resource_group_name> dengan nama unik untuk grup sumber daya Anda.

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

Membuat instans cache

#/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

Buat titik akhir pesan

Sebelum berlangganan topik, mari kita buat titik akhir untuk pesan peristiwa tersebut. Biasanya, titik akhir mengambil tindakan berdasarkan data kejadian. Untuk menyederhanakan mulai cepat ini, sebarkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup rencana App Service, aplikasi web App Service, dan kode sumber dari GitHub.

Ganti <your-site-name> dengan nama unik untuk aplikasi web Anda. Nama aplikasi web harus unik karena merupakan bagian dari entri DNS.

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

Perlu beberapa menit untuk menyelesaikan penyebaran. Setelah penyebaran berhasil, lihat aplikasi web Anda untuk memastikannya berjalan. Di browser web, navigasi ke: https://<your-site-name>.azurewebsites.net

Anda akan melihat situs tersebut tanpa ada pesan yang ditampilkan.

Aktifkan penyedia sumber daya Event Grid

  1. Jika sebelumnya Anda belum menggunakan Event Grid di langganan Azure, Anda mungkin perlu mendaftarkan penyedia sumber daya Event Grid. Jalankan perintah berikut untuk mendaftarkan penyedia:

    az provider register --namespace Microsoft.EventGrid
    
  2. Mungkin perlu beberapa saat agar pendaftaran selesai. Untuk memeriksa status, jalankan perintah berikut:

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

    Saat registrationState adalah Registered, Anda siap untuk melanjutkan.

Berlangganan ke instans Azure Cache for Redis

Dalam langkah ini, Anda akan berlangganan topik untuk memberi tahu Event Grid tentang kejadian apa yang ingin Anda lacak dan tempat untuk mengirim kejadian tersebut. Contoh berikut berlangganan instans Azure Cache for Redis yang Anda buat, dan meneruskan URL dari aplikasi web Anda sebagai titik akhir untuk notifikasi kejadian. Ganti <event_subscription_name> dengan nama untuk langganan kejadian Anda. Untuk <resource_group_name> dan <cache_name>, gunakan nilai yang Anda buat sebelumnya.

Titik akhir untuk aplikasi web Anda harus menyertakan akhiran /api/updates/.

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

Lihat lagi aplikasi web Anda, dan perhatikan bahwa peristiwa validasi langganan telah dikirim ke sana. Pilih ikon mata untuk meluaskan data peristiwa. Event Grid mengirimkan peristiwa validasi sehingga titik akhir dapat memverifikasi bahwa ia ingin menerima data peristiwa. Aplikasi web menyertakan kode untuk memvalidasi langganan.

Azure Event Grid Viewer.

Pemicu kejadian dari Azure Cache for Redis

Sekarang, mari kita picu kejadian untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Mari kita ekspor data yang disimpan di instans Azure Cache for Redis Anda. Sekali lagi, gunakan nilai {cache_name} dan {resource_group_name} yang sudah Anda buat.

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>'  

Anda telah memicu kejadian, dan Event Grid mengirim pesan ke titik akhir yang Anda konfigurasi saat berlangganan. Lihat aplikasi web Anda untuk melihat peristiwa yang baru saja Anda kirim.

[{
"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"
}]

Membersihkan sumber daya

Jika Anda berencana untuk melanjutkan instans Azure Cache for Redis dan langganan kejadian ini, jangan bersihkan sumber daya yang dibuat dalam mulai cepat ini. Jika Anda tidak berencana untuk melanjutkan, gunakan perintah berikut ini untuk menghapus sumber daya yang Anda buat dalam mulai cepat ini.

Ganti <resource_group_name> dengan grup sumber daya yang Anda buat di atas.

az group delete --name <resource_group_name>

Langkah berikutnya

Sekarang, setelah Anda mengetahui cara membuat topik dan langganan kejadian, pelajari selengkapnya tentang Kejadian Azure Cache for Redis dan Event Grid apa yang dapat membantu Anda: