Mulai cepat: Merutekan peristiwa kustom ke fungsi Azure dengan menggunakan Event Grid
Azure Event Grid adalah layanan perutean peristiwa untuk cloud. Azure Functions adalah salah satu penanganan aktivitas yang didukung.
Dalam mulai cepat ini, Anda menggunakan portal Azure untuk membuat topik kustom, berlangganan topik kustom, dan memicu peristiwa untuk melihat hasilnya. Anda mengirim peristiwa ke fungsi Azure.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Membuat fungsi dengan pemicu Event Grid dengan menggunakan Visual Studio Code
Di bagian ini, Anda menggunakan Visual Studio Code untuk membuat fungsi dengan pemicu Event Grid.
Prasyarat
- Visual Studio Code diinstal pada salah satu platform yang didukung
- Ekstensi Azure Functions
Membuat fungsi
Buka Visual Studio Code.
Di bilah kiri, pilih Azure.
Di panel kiri, di bagian RUANG KERJA, pilih tombol Azure Functions pada bilah perintah, lalu pilih Buat Fungsi.
Pilih folder tempat Anda ingin menyimpan kode fungsi.
Untuk perintah Buat proyek baru, untuk Bahasa, pilih C#, lalu pilih tombol Enter.
Untuk runtime .NET, pilih .NET 8.0 Isolated LTS, lalu pilih tombol Enter.
Untuk Templat untuk fungsi, pilih pemicu Azure Event Grid, lalu pilih tombol Enter.
Untuk Nama fungsi, masukkan nama untuk fungsi Anda, lalu pilih tombol Enter.
Untuk Namespace, masukkan nama untuk namespace fungsi, lalu pilih tombol Enter.
Buka proyek di jendela saat ini atau jendela baru, atau tambahkan ke ruang kerja.
Tunggu hingga fungsi dibuat. Status pembuatan fungsi muncul di sudut kanan bawah.
Lihat kode dalam file YourFunctionName.cs , khususnya
Run
metode . Ini mencetak informasi dengan menggunakan pencatat.[Function(nameof(MyEventGridTriggerFunc))] public void Run([EventGridTrigger] CloudEvent cloudEvent) { _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject); }
Terapkan fungsi ke Azure
Pilih tombol Azure di bilah kiri jika panel Azure belum terbuka.
Arahkan mouse ke atas proyek Anda dan pilih tombol Sebarkan ke Azure .
Di daftar dropdown palet perintah, pilih + Buat aplikasi fungsi baru, lalu pilih tombol Enter.
Untuk Nama, masukkan nama unik global untuk aplikasi fungsi baru, lalu pilih tombol Enter.
Untuk Tumpukan Runtime, pilih .NET 8 Terisolasi.
Untuk Lokasi untuk sumber daya Azure Anda, pilih wilayah yang dekat dengan Anda.
Status pembuatan aplikasi fungsi muncul di tab AZURE di panel bawah. Setelah aplikasi fungsi dibuat, Anda akan melihat status penyebaran fungsi yang Anda buat secara lokal ke aplikasi fungsi.
Setelah penyebaran berhasil, perluas pesan Buat Aplikasi Fungsi berhasil dan pilih Klik untuk melihat sumber daya. Konfirmasikan bahwa fungsi Anda dipilih di bagian SUMBER DAYA di panel kiri.
Klik kanan fungsi Anda, lalu pilih Buka di Portal.
Masuk ke Azure jika perlu, dan konfirmasikan bahwa halaman Aplikasi Fungsi muncul untuk fungsi Anda.
Di panel bawah, pilih fungsi Anda.
Beralih ke tab Log . Tetap buka tab ini sehingga Anda dapat melihat pesan yang dicatat saat mengirim peristiwa ke topik Event Grid nanti dalam tutorial ini.
Membuat topik kustom
Topik Event Grid menyediakan titik akhir yang ditentukan pengguna tempat Anda memposting peristiwa.
Pada tab baru jendela browser web, masuk ke portal Azure.
Pada bilah pencarian di topik, cari Topik Event Grid, lalu pilih Topik Event Grid.
Pada halaman Topik , pilih + Buat pada bilah perintah.
Pada panel Buat Topik , ikuti langkah-langkah berikut ini:
Untuk Langganan, pilih langganan Azure Anda.
Untuk Grup sumber daya, pilih grup sumber daya yang sama dari langkah-langkah sebelumnya.
Untuk Nama, berikan nama unik untuk topik kustom. Nama topik harus unik karena entri Sistem Nama Domain (DNS) mewakilinya.
Jangan gunakan nama yang ditampilkan dalam gambar contoh. Sebagai gantinya, buat nama Anda sendiri. Ini harus 3-50 karakter dan hanya berisi nilai a-z, A-Z, 0-9, dan tanda hubung (
-
).Untuk Wilayah, pilih lokasi untuk topik Event Grid.
Pilih Tinjau + buat.
Pada tab Tinjau + buat , tinjau pengaturan lalu pilih Buat.
Setelah topik kustom dibuat, pilih tautan Buka sumber daya untuk membuka halaman Topik Event Grid untuk topik tersebut.
Berlangganan topik kustom
Anda berlangganan topik Event Grid untuk memberi tahu Event Grid peristiwa mana yang ingin Anda lacak, dan tempat mengirim peristiwa.
Pada halaman Topik Event Grid untuk topik kustom Anda, pilih + Langganan Peristiwa pada toolbar.
Pada panel Buat Langganan Peristiwa, ikuti langkah-langkah berikut ini:
Untuk Nama, masukkan nama untuk langganan peristiwa.
Untuk Skema Peristiwa, pilih Skema Peristiwa Cloud v1.0.
Untuk Jenis Titik Akhir, Pilih Azure Function.
Pilih Konfigurasikan titik akhir.
Pada panel Pilih Fungsi Azure, ikuti langkah-langkah berikut:
Untuk Langganan, pilih langganan Azure yang memiliki fungsi .
Untuk Grup sumber daya, pilih grup sumber daya yang memiliki fungsi .
Untuk Aplikasi fungsi, pilih aplikasi fungsi Anda.
Untuk Fungsi, pilih fungsi di aplikasi fungsi.
Pilih Konfirmasi Pilihan.
Langkah ini bersifat opsional, tetapi kami merekomendasikannya untuk skenario produksi. Pada panel Buat Langganan Peristiwa, buka tab Fitur Tambahan dan atur nilai untuk Peristiwa maks per batch dan Ukuran batch pilihan dalam kilobyte.
Batching dapat memberi Anda throughput tinggi. Untuk Peristiwa maks per batch, atur jumlah maksimum peristiwa yang akan disertakan langganan dalam batch. Ukuran batch pilihan dalam kilobyte menetapkan batas atas ukuran batch pilihan, tetapi dapat terlampaui jika satu peristiwa lebih besar dari ambang batas ini.
Pada panel Buat Langganan Peristiwa, pilih Buat.
Mengirim peristiwa ke topik Anda
Sekarang, picu peristiwa untuk melihat bagaimana Event Grid mendistribusikan pesan ke titik akhir Anda. Gunakan Azure CLI atau Azure PowerShell untuk mengirim peristiwa pengujian ke topik kustom Anda. Biasanya, aplikasi atau layanan Azure akan mengirim data peristiwa.
Contoh pertama menggunakan Azure CLI. Ini mendapatkan URL dan kunci untuk topik kustom dan data peristiwa sampel. Gunakan nama topik kustom Anda untuk topicname
. Ini membuat sampel data peristiwa.
Elemen data
JSON adalah payload peristiwa Anda. Setiap JSON yang terbentuk dengan baik dapat masuk dalam bidang ini. Anda juga dapat menggunakan bidang subjek untuk perutean dan pemfilteran tingkat lanjut.
Alat cURL mengirim permintaan HTTP. Dalam artikel ini, Anda menggunakan cURL untuk mengirim peristiwa ke topik kustom.
Azure CLI
Di portal Microsoft Azure, pilih Cloud Shell. Jika Anda berada dalam mode Azure PowerShell, pilih Beralih ke Bash.
Atur
topicname
variabel danresourcegroupname
yang digunakan dalam perintah.Ganti
TOPICNAME
dengan nama topik Event Grid Anda.topicname="TOPICNAME"
Ganti
RESOURCEGROUPNAME
dengan nama grup sumber daya Azure yang berisi topik Event Grid.resourcegroupname="RESOURCEGROUPNAME"
Gunakan perintah berikut untuk mendapatkan titik akhir untuk topik tersebut. Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankannya.
endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --query "endpoint" --output tsv)
Gunakan perintah berikut untuk mendapatkan kunci untuk topik kustom. Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankannya.
key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --query "key1" --output tsv)
Salin pernyataan berikut dengan definisi peristiwa, lalu pilih tombol Enter.
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
Jalankan perintah cURL berikut untuk memposting peristiwa:
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Konfirmasikan bahwa pesan dari fungsi muncul di tab Log untuk fungsi Anda di portal Azure.
Azure PowerShell
Contoh kedua menggunakan Azure PowerShell untuk melakukan langkah serupa.
Di portal Azure, pilih Cloud Shell (atau buka halaman Azure Cloud Shell). Di sudut kiri atas jendela Cloud Shell, pilih Beralih ke PowerShell.
Atur variabel berikut. Setelah Anda menyalin dan menempelkan setiap perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankannya.
$resourceGroupName = "RESOURCEGROUPNAME"
$topicName = "TOPICNAME"
Jalankan perintah berikut untuk mendapatkan titik akhir dan kunci untuk topik:
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
Persiapkan peristiwa. Salin dan jalankan pernyataan ini di jendela Cloud Shell:
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct the body by using a hash table $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert the event body from a hash table to a JSON object #Append square brackets to the converted JSON payload because they're expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"
Invoke-WebRequest
Gunakan cmdlet untuk mengirim peristiwa:Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
Konfirmasikan bahwa pesan dari fungsi muncul di tab Log untuk fungsi Anda di portal Azure.
Verifikasi bahwa fungsi menerima peristiwa
Anda memicu peristiwa, dan Event Grid mengirim pesan ke titik akhir yang Anda konfigurasi saat berlangganan. Sekarang Anda dapat memeriksa apakah fungsi menerimanya.
Pada halaman Monitor untuk fungsi Anda, temukan pemanggilan.
Pilih pemanggilan untuk menampilkan detailnya.
Anda juga dapat menggunakan tab Log di panel kanan untuk melihat pesan yang dicatat saat Memposting peristiwa ke titik akhir topik.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan peristiwa ini, jangan bersihkan sumber daya yang Anda buat di artikel ini. Jika tidak, hapus sumber daya yang Anda buat di artikel ini.
Di menu sebelah kiri, pilih Grup sumber daya.
Alternatifnya adalah memilih Semua Layanan di menu sebelah kiri, lalu pilih Grup sumber daya.
Pilih grup sumber daya untuk membuka panel untuk detailnya.
Pada toolbar pilih Hapus grup sumber daya.
Konfirmasi penghapusan dengan memasukkan nama grup sumber daya, lalu pilih Hapus.
Jendela Cloud Shell dibuat dan menggunakan grup sumber daya lain yang muncul di halaman Grup sumber daya. Hapus grup sumber daya ini jika Anda tidak berencana untuk menggunakan jendela Cloud Shell nanti.
Konten terkait
Setelah mengetahui cara membuat topik dan langganan kejadian, pelajari lebih lanjut tentang Azure Event Grid apa yang dapat membantu Anda melakukan:
- Tentang Event Grid
- Merutekan peristiwa Azure Blob Storage ke titik akhir web kustom
- Memantau perubahan komputer virtual dengan Azure Event Grid dan Logic Apps
- Streaming data besar ke dalam gudang data
Untuk mempelajari tentang menerbitkan peristiwa ke, dan menggunakan peristiwa dari, Event Grid dengan menggunakan berbagai bahasa pemrograman, lihat sampel berikut: