Output antrean Azure Service Bus dari Azure Stream Analytics
Antrean Azure Service Bus menawarkan pengiriman pesan FIFO ke satu atau beberapa konsumen yang bersaing. Biasanya, pesan diterima dan diproses oleh penerima dalam urutan temporal di mana pesan tersebut ditambahkan ke antrean. Setiap pesan diterima dan diproses oleh hanya satu konsumen pesan.
Di tingkat kompatibilitas 1.2, Azure Stream Analytics menggunakan protokol olahpesan Advanced Message Queuing Protocol (AMQP) untuk menulis ke Antrean dan Topik Azure Service Bus. AMQP memungkinkan Anda membangun aplikasi lintas-platform hibrida menggunakan protokol standar terbuka.
Konfigurasi output
Tabel berikut mencantumkan nama properti dan deskripsinya untuk membuat output antrean.
Nama properti | Deskripsi |
---|---|
Alias output | Nama yang mudah diingat yang digunakan dalam kueri untuk mengarahkan output kueri ke antrean Azure Service Bus ini. |
Namespace layanan Microsoft Azure Service Bus | Kontainer untuk kumpulan entitas olahpesan. |
Nama antrean | Nama antrean Azure Service Bus. |
Nama kebijakan antrean | Saat membuat antrean, Anda juga dapat membuat kebijakan akses bersama pada tab Konfigurasi antrean. Setiap kebijakan akses bersama memiliki nama, izin yang Anda tetapkan, dan kunci akses. |
Kunci kebijakan antrean | Kunci akses bersama yang digunakan untuk mengautentikasi akses ke namespace Azure Service Bus. |
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 jenis 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 tidak akan menjadi JSON yang valid sendirinya. Array menetapkan bahwa output diformat sebagai larik 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. |
Kolom Properti Sistem | Opsional. Pasangan nilai kunci Properti Sistem dan nama kolom terkait yang perlu dilampirkan ke pesan keluar, bukan payload. |
Jumlah partisi didasarkan pada SKU dan ukuran Azure Service Bus. Kunci partisi adalah nilai bilangan bulat unik untuk setiap partisi.
Partisi
Pemartisian dipilih secara otomatis. Jumlah partisi didasarkan pada SKU dan ukuran Azure Service Bus. Kunci partisi adalah nilai bilangan bulat unik untuk setiap partisi. Jumlah penulis output sama dengan jumlah partisi dalam antrean output.
Ukuran batch output
Ukuran pesan maksimum adalah 256 KB per pesan untuk tingkat Standar dan 1MB untuk tingkat Premium. Untuk mengetahui informasi selengkapnya, lihat Batas Azure Service Bus. Untuk mengoptimalkan, gunakan satu peristiwa per pesan.
Properti metadata kustom untuk output
Anda dapat melampirkan kolom kueri sebagai properti pengguna ke pesan keluar. 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.
Gunakan kueri berikut:
select *, DeviceId, DeviceStatus from iotHubInput
Mengonfigurasi
DeviceId,DeviceStatus
sebagai kolom properti dalam output.
Gambar berikut adalah properti pesan output yang diharapkan, yang diperiksa di EventHub menggunakan Azure Service Bus Explorer.
Properti sistem
Anda dapat melampirkan kolom kueri sebagai properti sistem ke pesan Antrean atau Topik bus layanan keluar Anda.
Kolom ini tidak masuk ke payload sebagai gantinya properti sistem ServiceBusMessage yang sesuai diisi dengan nilai kolom kueri.
Properti sistem ini didukung - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc
.
Nilai string kolom ini diuraikan sebagai jenis nilai properti sistem yang terkait dan kegagalan penguraian apa pun diperlakukan sebagai kesalahan data. Bidang ini disediakan sebagai format objek JSON. Detail tentang format ini adalah sebagai berikut:
- Dikelilingi oleh kurung kurawal {}.
- Ditulis dalam pasangan kunci/nilai.
- Kunci dan nilai harus berupa string.
- Kunci adalah nama properti sistem dan nilai adalah nama kolom kueri.
- Kunci dan nilai dipisahkan oleh titik dua.
- Setiap pasangan kunci/nilai dipisahkan oleh koma.
Ini menunjukkan cara menggunakan properti ini –
- Kueri:
select *, column1, column2 INTO queueOutput FROM iotHubInput
- Kolom Properti Sistem:
{ "MessageId": "column1", "PartitionKey": "column2"}
Ini mengatur MessageId
pada pesan antrean bus layanan dengan nilai column1
dan PartitionKey diatur dengan nilai column2
.
Langkah berikutnya
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics dengan menggunakan portal Microsoft Azure
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics menggunakan Azure CLI
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics menggunakan templat ARM
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics menggunakan Azure PowerShell
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics menggunakan Visual Studio
- Mulai Cepat: Buat pekerjaan Azure Stream Analytics di Visual Studio Code