Bagikan melalui


Gambaran umum emulator Azure Event Hubs

Emulator Azure Event Hubs menawarkan pengalaman pengembangan lokal untuk layanan Azure Event Hubs. Anda dapat menggunakan emulator untuk mengembangkan dan menguji kode terhadap layanan dalam isolasi, bebas dari gangguan cloud.

Keuntungan

Keuntungan utama menggunakan emulator adalah:

  • Pengembangan lokal: Emulator memberikan pengalaman pengembangan lokal, sehingga Anda dapat bekerja offline dan menghindari latensi jaringan.
  • Efisiensi biaya: Dengan emulator, Anda dapat menguji aplikasi tanpa dikenakan biaya penggunaan cloud apa pun.
  • Lingkungan pengujian terisolasi: Anda dapat menguji kode Anda dalam isolasi, untuk membantu memastikan bahwa aktivitas lain di cloud tidak memengaruhi pengujian.
  • Perulangan pengembangan dalam yang dioptimalkan: Anda dapat menggunakan emulator untuk membuat prototipe dan menguji aplikasi Anda dengan cepat sebelum menyebarkannya ke cloud.

Catatan

Emulator Azure Event Hubs tersedia di bawah Ketentuan Lisensi Perangkat Lunak Microsoft.

Fitur

Emulator menyediakan fitur-fitur ini:

  • Penyebaran kontainer: Ini berjalan sebagai kontainer Docker (berbasis Linux).
  • Kompatibilitas lintas platform: Anda dapat menggunakannya di platform apa pun, termasuk Windows, macOS, dan Linux.
  • Konfigurasi: Anda dapat mengelola jumlah hub peristiwa, partisi, dan entitas lainnya dengan menggunakan konfigurasi yang disediakan JSON.
  • Dukungan streaming: Ini mendukung peristiwa streaming menggunakan Kafka dan Advanced Message Queuing Protocol (AMQP).
  • Pengamatan: Ini menyediakan fitur pengamatan, termasuk pengelogan konsol dan file.

Pembatasan yang diketahui

Versi emulator saat ini memiliki batasan berikut:

  • Saat menggunakan Kafka, hanya API produsen dan konsumen yang kompatibel dengan emulator Azure Event Hubs.

  • Di bawah Konfigurasi Kafka, securityProtocol dan saslmechanism hanya dapat memiliki nilai berikut:

      SecurityProtocol = SecurityProtocol.SaslPlaintext,
      SaslMechanism = SaslMechanism.Plain
    
  • Ini tidak mendukung operasi manajemen on-the-fly melalui SDK sisi klien.

Catatan

Setelah menghidupkan ulang kontainer, data dan entitas tidak bertahan di emulator.

Perbedaan dari layanan cloud

Karena emulator Azure Event Hubs hanya dimaksudkan untuk tujuan pengembangan dan pengujian, ada perbedaan fungsional antara emulator dan layanan cloud.

Emulator tidak mendukung fitur tingkat tinggi ini:

  • Fitur Azure seperti integrasi jaringan virtual, integrasi ID Microsoft Entra, log aktivitas, dan portal UI
  • Pengambilan Azure Event Hubs
  • Fitur tata kelola sumber daya seperti grup aplikasi
  • Kemampuan skala otomatis
  • Kemampuan pemulihan bencana geografis
  • Integrasi registri skema
  • Metrik dan pemberitahuan visual

Catatan

Emulator hanya dimaksudkan untuk skenario pengembangan dan pengujian. Kami mencegah penggunaan produksi apa pun. Kami tidak memberikan dukungan resmi untuk emulator.

Laporkan masalah atau saran di repositori alat penginstal GitHub emulator.

Kuota penggunaan

Seperti layanan cloud Azure Event Hubs, emulator menyediakan kuota berikut untuk penggunaan:

Properti Nilai Pengguna dapat dikonfigurasi dalam batas
Jumlah namespace yang didukung 1 No
Jumlah maksimum hub peristiwa dalam namespace layanan 10 Ya
Jumlah maksimum grup konsumen di pusat aktivitas 20 Ya
Jumlah maksimum partisi di pusat aktivitas 32 Ya
Ukuran maksimum peristiwa yang diterbitkan ke pusat aktivitas (batch/nonbatch) 1 MB No
Waktu retensi peristiwa minimum 1 jam No

Perubahan konfigurasi kuota

Secara default, emulator berjalan dengan file konfigurasi config.json . Anda dapat mengonfigurasi kuota yang terkait dengan Azure Event Hubs dengan mengedit file ini dengan cara berikut, berdasarkan kebutuhan Anda:

  • Entitas: Anda dapat menambahkan lebih banyak entitas (hub peristiwa), dengan jumlah partisi dan grup konsumen yang disesuaikan, sesuai dengan kuota yang didukung.
  • Pengelogan: Emulator mendukung pengelogan di konsol, dalam file, atau keduanya. Anda dapat memilih sesuai dengan preferensi pribadi Anda.

Penting

Anda harus memberikan perubahan apa pun dalam konfigurasi JSON sebelum menjalankan emulator. Perubahan tidak dihormati dengan cepat. Agar perubahan diterapkan, Anda harus memulai ulang kontainer.

Anda tidak dapat mengganti nama namespace prasetel (name) dalam file konfigurasi.

Log untuk penelusuran kesalahan

Selama pengujian, konsol, atau log file membantu Anda men-debug kegagalan tak terduga. Untuk meninjau log:

  • Log konsol: Pada UI desktop Docker, pilih nama kontainer.
  • Log file: Dalam kontainer, buka /home/app/EmulatorLogs.

Uji secara lokal dengan menggunakan emulator Azure Event Hubs