Output Event Hubs dari Azure Stream Analytics

Layanan Azure Event Hubs adalah penyerap peristiwa terbitkan-berlangganan yang sangat dapat diskalakan. Layanan ini dapat mengumpulkan jutaan peristiwa per detik. Salah satu penggunaan pusat aktivitas sebagai output adalah ketika output pekerjaan Azure Stream Analytics menjadi input pekerjaan streaming lain. Untuk informasi tentang ukuran pesan maksimum dan pengoptimalan ukuran batch, lihat bagian ukuran batch output.

Konfigurasi output

Tabel berikut memiliki parameter yang diperlukan untuk mengonfigurasi aliran dari pusat aktivitas sebagai output.

Nama properti Deskripsi
Alias output Nama yang mudah diingat digunakan dalam kueri untuk mengarahkan output kueri ke pusat aktivitas.
Namespace layanan pusat aktivitas Kontainer untuk set entitas olahpesan. Saat membuat pusat aktivitas baru, Anda juga membuat namespace layanan pusat aktivitas.
Nama pusat aktivitas Nama output pusat aktivitas Anda.
Nama kebijakan pusat aktivitas Kebijakan akses bersama, yang dapat Anda buat di tab Konfigurasi pusat aktivitas. Setiap kebijakan akses bersama memiliki nama, izin yang Anda tetapkan, dan kunci akses.
Kunci kebijakan pusat aktivitas Kunci akses bersama yang digunakan untuk mengautentikasi akses ke namespace layanan pusat aktivitas.
Kolom kunci partisi Opsional. Kolom yang memuat kunci partisi untuk output pusat aktivitas.
Format serialisasi peristiwa Format serialisasi untuk data output. JSON, CSV, dan Avro didukung.
Pengodean Untuk CSV dan JSON, UTF-8 adalah satu-satunya format pengodean yang didukung saat ini.
Pemisah Hanya berlaku untuk serialisasi CSV. Azure Stream Analytics mendukung sejumlah pemisah umum untuk membuat serialisasi data dalam format CSV. Nilai yang didukung adalah koma, titik koma, spasi, tab, dan bilah vertikal.
Format Hanya berlaku untuk serialisasi JSON. Dipisahkan baris menetapkan bahwa output diformat dengan membuat setiap objek JSON dipisahkan oleh baris baru. Jika Anda memilih Dipisahkan baris, JSON dibaca satu objek dalam satu waktu. Seluruh konten dengan sendirinya tidak akan menjadi JSON yang valid. Array menetapkan bahwa output diformat sebagai array objek JSON.
Kolom properti Opsional. Kolom yang dipisahkan koma yang perlu dilampirkan sebagai properti pengguna dari pesan keluar, bukan sebagai payload. Informasi selengkapnya tentang fitur ini ada di bagian Properti metadata kustom untuk output.

Pemartisian

Partisi dapat bervariasi tergantung pada penyelarasan partisi. Ketika kunci partisi untuk output pusat aktivitas sama-sama selaras dengan langkah kueri upstram (sebelumnya), jumlah penulis sama dengan jumlah partisi dalam output pusat aktivitas. Setiap penulis menggunakan kelas EventHubSender untuk mengirim peristiwa ke partisi tertentu. Jika kunci partisi untuk output pusat aktivitas tidak selaras dengan langkah kueri upstram (sebelumnya), jumlah penulis sama dengan jumlah partisi dalam langkah sebelumnya. Setiap penulis menggunakan kelas SendBatchAsync di EventHubClient untuk mengirim peristiwa ke semua partisi output.

Ukuran batch output

Ukuran pesan maksimum adalah 256 KB atau 1 MB per pesan. Untuk informasi selengkapnya, lihat Batas Azure Event Hubs. Jika partisi input/output tidak selaras, setiap peristiwa dikemas satu per satu dalam EventData dan dikirim dalam batch hingga ukuran pesan maksimum. Ini juga terjadi jika properti metadata kustom digunakan. Jika partisi input/output diselaraskan, beberapa peristiwa dikemas ke dalam satu instans EventData, hingga ukuran pesan maksimum, lalu dikirim.

Properti metadata kustom untuk output

Anda bisa melampirkan kolom kueri sebagai properti pengguna ke pesan keluar Anda. Kolom-kolom ini tidak masuk ke payload. Properti muncul dalam bentuk kamus pada pesan output. Kunci adalah nama kolom dan nilai adalah nilai kolom dalam kamus properti. Semua jenis data Azure Stream Analytics didukung kecuali Rekaman dan Array.

Dalam contoh berikut, bidang DeviceId dan DeviceStatus ditambahkan ke metadata.

  1. Gunakan kueri berikut:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Mengonfigurasi DeviceId,DeviceStatus sebagai kolom properti dalam output.

    Kolom properti

Gambar berikut adalah properti pesan output yang diharapkan yang diperiksa di pusat aktivitas menggunakan Service Bus Explorer.

Properti kustom peristiwa

Pengiriman Tepat Sekali

Tepat setelah pengiriman didukung di output Azure Event Hubs secara default. Terlepas dari input Anda, Azure Stream Analytics menjamin tidak ada kehilangan data atau tidak ada duplikat dalam output Azure Event Hubs, di seluruh mulai ulang yang dimulai pengguna dari waktu output terakhir, mencegah duplikat diproduksi. Ini sangat menyederhanakan alur streaming dengan tidak harus memantau, menerapkan, dan memecahkan masalah logika deduplikasi.

Langkah berikutnya