Tutorial: Merutekan pesan MQTT di Azure Event Grid ke Azure Functions menggunakan topik kustom - portal Azure

Dalam tutorial ini, Anda mempelajari cara merutekan pesan MQTT yang diterima oleh namespace Azure Event Grid ke fungsi Azure melalui topik kustom Event Grid dengan mengikuti langkah-langkah berikut:

Jika Anda tidak memiliki langganan Azure, Anda dapat mendaftar uji coba gratis.

Membuat fungsi Azure menggunakan pemicu Event Grid

Ikuti instruksi dari Membuat fungsi Azure menggunakan Visual Studio Code, tetapi gunakan Pemicu Azure Event Grid alih-alih menggunakan Pemicu HTTP. Anda akan melihat kode yang mirip dengan contoh berikut:

using System;
using Azure.Messaging;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace Company.Function
{
    public class MyEventGridTriggerFunc
    {
        private readonly ILogger<MyEventGridTriggerFunc> _logger;

        public MyEventGridTriggerFunc(ILogger<MyEventGridTriggerFunc> logger)
        {
            _logger = logger;
        }

        [Function(nameof(MyEventGridTriggerFunc))]
        public void Run([EventGridTrigger] CloudEvent cloudEvent)
        {
            _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject);
        }
    }
}

Anda menggunakan fungsi Azure ini sebagai penanganan aktivitas untuk langganan topik nanti dalam tutorial ini.

Catatan

  • Buat semua sumber daya di wilayah yang sama.
  • Tutorial ini telah diuji dengan fungsi Azure yang menggunakan tumpukan runtime .NET 8.0 (terisolasi).

Membuat topik Event Grid (topik kustom)

Membuat topik Event Grid. Lihat Membuat topik kustom menggunakan portal. Saat Anda membuat topik Event Grid, pada tab Tingkat Lanjut , untuk Skema Peristiwa, pilih Cloud Event Schema v1.0.

Cuplikan layar yang memperlihatkan halaman Tingkat Lanjut wizard Buat Topik.

Catatan

Gunakan skema peristiwa Cloud di mana saja dalam tutorial ini.

Menambahkan langganan ke topik menggunakan fungsi

Dalam langkah ini, Anda membuat langganan ke topik Event Grid menggunakan fungsi Azure yang Anda buat sebelumnya.

  1. Pada halaman topik Event Grid, pilih Langganan di bilah navigasi kiri.

    Cuplikan layar yang memperlihatkan halaman Langganan Peristiwa untuk topik.

  2. Pada halaman Buat langganan peristiwa, lakukan langkah-langkah berikut:

    1. Masukkan nama untuk langganan acara.

    2. Untuk Skema peristiwa, pilih Skema Peristiwa Cloud 1.0.

    3. Untuk Jenis titik akhir, pilih Azure Functions.

    4. Lalu, pilih Konfigurasikan titik akhir.

      Cuplikan layar yang memperlihatkan halaman Buat langganan peristiwa.

  3. Pada halaman Pilih fungsi Azure, lakukan langkah-langkah berikut:

    1. Untuk Langganan, pilih langganan Azure Anda.

    2. Untuk Grup sumber daya, pilih grup sumber daya yang memiliki fungsi Azure Anda.

    3. Untuk Aplikasi fungsi, pilih aplikasi Functions yang memiliki fungsi .

    4. Untuk Slot, pilih Produksi.

    5. Untuk Fungsi, pilih fungsi Azure Anda.

    6. Lalu, pilih Konfirmasi pilihan di bagian bawah halaman.

      Cuplikan layar yang memperlihatkan halaman Pilih fungsi Azure.

  4. Di halaman Membuat Langganan Peristiwa, pilih Buat.

  5. Pada halaman Langganan Peristiwa, Anda akan melihat langganan yang Anda buat.

Membuat namespace, klien, spasi topik, dan pengikatan izin

Ikuti instruksi dari Mulai Cepat: Menerbitkan dan berlangganan pesan MQTT menggunakan namespace Layanan Event Grid dengan portal Azure untuk:

  1. Membuat namespace Layanan Event Grid.
  2. Buat dua klien.
  3. Membuat ruang topik.
  4. Membuat pengikatan izin penerbit dan pelanggan.
  5. Uji menggunakan aplikasi MQTTX untuk mengonfirmasi bahwa klien dapat mengirim dan menerima pesan.

Mengaktifkan identitas terkelola untuk namespace layanan

Di bagian ini, Anda mengaktifkan identitas terkelola yang ditetapkan sistem untuk namespace Layanan Event Grid. Kemudian, berikan identitas izin kirim ke topik kustom Event Grid yang Anda buat sebelumnya sehingga dapat merutekan pesan ke topik kustom. Anda melakukannya dengan menambahkan identitas terkelola ke peran Pengirim Data Event Grid pada topik kustom.

  1. Pada halaman Namespace Layanan Event Grid, pilih Identitas di menu navigasi kiri.

    Cuplikan layar yang memperlihatkan Namespace Layanan Event Grid dengan tab Identitas dipilih.

  2. Navigasi ke Topik Event Grid untuk topik kustom Event Grid Anda.

  3. Pilih Kontrol akses di bilah navigasi kiri.

  4. Pada halaman Kontrol akses, pilih Tambahkan, lalu pilih Tambahkan penetapan peran.

    Cuplikan layar yang memperlihatkan halaman Kontrol akses.

  5. Pada halaman Peran wizard Tambahkan penetapan peran, pilih peran Pengirim Data Event Grid, dan pilih Berikutnya di bagian bawah halaman.

    Cuplikan layar yang memperlihatkan halaman **Peran** dari wizard **Tambahkan penetapan peran**.

  6. Pada halaman Anggota wizard Tambahkan penetapan peran, pilih Identitas terkelola, lalu pilih Pilih anggota.

    Cuplikan layar yang memperlihatkan halaman Anggota wizard Tambahkan penetapan peran.

  7. Pada halaman Pilih identitas terkelola , lakukan langkah-langkah berikut:

    1. Pilih langganan Azure Anda.

    2. Untuk Identitas terkelola, pilih Namespace Layanan Event Grid.

    3. Pilih identitas terkelola yang memiliki nama yang sama dengan namespace Layanan Event Grid.

    4. Pilih Pilih di bagian bawah halaman.

      Cuplikan layar yang memperlihatkan halaman Pilih identitas terkelola.

  8. Pada halaman Tambahkan penetapan peran, pilih Berikutnya di bagian bawah halaman.

  9. Pada halaman Tinjau + tetapkan , tinjau pengaturan, lalu pilih Tinjau + tetapkan di bagian bawah halaman.

Mengonfigurasi pesan perutean ke fungsi Azure melalui topik kustom

Dalam langkah ini, Anda mengonfigurasi perutean untuk namespace Layanan Event Grid sehingga pesan yang diterimanya dirutekan ke topik kustom yang Anda buat.

  1. Pada halaman Namespace Layanan Event Grid, pilih Perutean di bilah navigasi kiri.

  2. Pada halaman Perutean , pilih Aktifkan perutean.

  3. Untuk Jenis topik, pilih Topik kustom.

  4. Untuk Topik, pilih topik kustom yang Anda buat untuk tutorial ini.

  5. Untuk Identitas terkelola untuk pengiriman, pilih Sistem Ditetapkan.

  6. Pilih Terapkan di bagian bawah halaman.

    Cuplikan layar yang memperlihatkan halaman Perutean untuk namespace.

Mengirim pesan MQTT pengujian menggunakan MQTTX

Kirim pesan MQTT pengujian ke namespace layanan dan konfirmasikan bahwa fungsi menerimanya.

Ikuti instruksi dari artikel Terbitkan, berlangganan pesan menggunakan aplikasi MQTTX untuk mengirim beberapa pesan pengujian ke namespace Layanan Event Grid.

Berikut adalah alur peristiwa atau pesan:

  1. MQTTX mengirim pesan ke ruang topik namespace Layanan Event Grid.

  2. Pesan dirutekan ke topik kustom yang Anda konfigurasikan.

  3. Pesan diteruskan ke langganan peristiwa, yang merupakan fungsi Azure.

  4. Gunakan fitur pengelogan untuk memverifikasi bahwa fungsi telah menerima peristiwa.

    Cuplikan layar yang memperlihatkan halaman Aliran log untuk fungsi Azure.

Langkah selanjutnya

Lihat sampel kode di repositori GitHub ini.