Bagikan melalui


Tingkat kompatibilitas untuk pekerjaan Azure Stream Analytics

Artikel ini menjelaskan opsi tingkat kompatibilitas di Azure Stream Analytics.

Azure Stream Analytics adalah layanan terkelola, dengan pembaruan fitur reguler dan peningkatan performa yang konstan. Sebagian besar pembaruan runtime layanan secara otomatis tersedia untuk pengguna akhir secara independen dari tingkat kompatibilitas. Namun saat fungsionalitas baru memperkenalkan perubahan perilaku pekerjaan yang ada atau perubahan cara data dikonsumsi dalam menjalankan pekerjaan, kami memperkenalkan perubahan ini di tingkat kompatibilitas baru. Anda dapat tetap menjalankan pekerjaan Azure Stream Analytics yang ada tanpa perubahan besar dengan membiarkan pengaturan tingkat kompatibilitas diturunkan. Saat Anda siap untuk perilaku runtime terbaru, Anda dapat ikut serta dengan menaikkan tingkat kompatibilitas.

Memilih tingkat kompatibilitas

Tingkat kompatibilitas mengontrol perilaku runtime dari pekerjaan analitik aliran.

Azure Stream Analytics saat ini mendukung tiga tingkat kompatibilitas:

  • 1.2 - Perilaku terbaru dengan peningkatan terbaru
  • 1.1 - Perilaku sebelumnya
  • 1.0 - Tingkat kompatibilitas asli yang diperkenalkan selama ketersediaan umum Azure Stream Analytics beberapa tahun yang lalu.

Saat Anda membuat pekerjaan Azure Stream Analytics baru, ini adalah praktik terbaik untuk membuatnya dengan menggunakan tingkat kompatibilitas terbaru. Mulai desain pekerjaan Anda dengan mengandalkan perilaku terbaru untuk menghindari perubahan dan kerumitan tambahan di kemudian hari.

Mengatur tingkat kompatibilitas

Anda dapat mengatur tingkat kompatibilitas untuk pekerjaan Stream Analytics di portal Microsoft Azure atau dengan menggunakan panggilan REST API buat pekerjaan.

Untuk memperbarui tingkat kompatibilitas pekerjaan di portal Microsoft Azure:

  1. Gunakan portal Microsoft Azure untuk menemukan pekerjaan Stream Analytics Anda.
  2. Hentikan pekerjaan sebelum memperbarui tingkat kompatibilitas. Anda tidak dapat memperbarui tingkat kompatibilitas jika pekerjaan Anda dalam kondisi berjalan.
  3. Di bawah judul Konfigurasi, pilih Tingkat kompatibilitas.
  4. Pilih nilai tingkat kompatibilitas yang Anda inginkan.
  5. Pilih Simpan di bagian bawah halaman.

Tingkat kompatibilitas Stream Analytics di portal Microsoft Azure

Saat Anda memperbarui tingkat kompatibilitas, T-compiler memvalidasi pekerjaan dengan sintaks yang sesuai dengan tingkat kompatibilitas yang dipilih.

Tingkat kompatibilitas 1.2

Perubahan besar berikut diperkenalkan pada tingkat kompatibilitas 1.2:

Protokol olahpesan AMQP

Tingkat 1.2: Azure Stream Analytics menggunakan protokol olahpesan Advanced Message Queueing Protocol (AMQP) untuk menulis ke Antrean dan Topik Azure Service Bus. AMQP memungkinkan Anda membangun aplikasi lintas-platform hibrida menggunakan protokol standar terbuka.

Fungsi geospasial

Tingkat sebelumnya: Azure Stream Analytics menggunakan perhitungan Geografi.

Tingkat 1.2: Azure Stream Analytics memungkinkan Anda menghitung koordinat geo yang diproyeksikan Geometris. Tidak ada perubahan tanda tangan fungsi geospasial. Namun semantik mereka sedikit berbeda, memungkinkan komputasi yang lebih tepat daripada sebelumnya.

Azure Stream Analytics mendukung pengindeksan data referensi geospasial. Data Referensi yang berisi elemen geospasial dapat diindeks untuk komputasi gabungan yang lebih cepat.

Fungsi geospasial yang diperbarui membawa ekspresi penuh dari format geospasial Well Known Text (WKT). Anda dapat menentukan komponen geospasial lain yang sebelumnya tidak didukung dengan GeoJson.

Untuk informasi selengkapnya, lihat Pembaruan fitur geospasial di Azure Stream Analytics – Cloud dan IoT Edge.

Eksekusi kueri paralel untuk sumber input dengan beberapa partisi

Tingkat sebelumnya: Kueri Azure Stream Analytics memerlukan penggunaan klausa PARTITION BY untuk memparalelkan pemrosesan kueri di seluruh partisi sumber input.

Tingkat 1.2: Jika logika kueri dapat diparalelkan di seluruh partisi sumber input, Azure Stream Analytics membuat instans kueri terpisah dan menjalankan komputasi secara paralel.

Integrasi API Massal Asli dengan output Azure Cosmos DB

Tingkat sebelumnya: Perilaku upsert disisipkan atau digabungkan.

Tingkat 1.2: Integrasi API Massal asli dengan output Azure Cosmos DB memaksimalkan throughput dan menangani permintaan pembatasan secara efisien. Untuk informasi selengkapnya, lihat Output Azure Stream Analytics ke halaman Azure Cosmos DB.

Perilaku upsert adalah menyisipkan atau mengganti.

DateTimeOffset saat menulis ke output SQL

Level sebelumnya: Jenis DateTimeOffset disesuaikan dengan UTC.

Tingkat 1.2: DateTimeOffset tidak lagi disesuaikan.

Panjang saat menulis ke output SQL

Tingkat sebelumnya: Nilai dipotong berdasarkan jenis target.

Tingkat 1.2: Nilai yang tidak sesuai dengan jenis target ditangani sesuai dengan kebijakan kesalahan output.

Merekam dan membuat array serialisasi saat menulis ke output SQL

Tingkat sebelumnya: Rekaman ditulis sebagai "Rekam" dan array ditulis sebagai "Array".

Tingkat 1.2: Rekaman dan array diserialkan dalam format JSON.

Validasi ketat prefiks fungsi

Tingkat sebelumnya: Tidak ada validasi ketat prefiks fungsi.

Tingkat 1.2: Azure Stream Analytics memiliki validasi prefiks fungsi yang ketat. Menambahkan prefiks ke fungsi bawaan menyebabkan kesalahan. Misalnya,myprefix.ABS(…) tidak didukung.

Menambahkan prefiks ke agregat bawaan juga mengakibatkan kesalahan. Misalnya,myprefix.SUM(…) tidak didukung.

Menggunakan prefiks "sistem" untuk setiap fungsi yang ditentukan pengguna mengakibatkan kesalahan.

Melarang Array dan Objek sebagai properti utama di adaptor output Azure Cosmos DB

Tingkat sebelumnya: Jenis Array dan Objek didukung sebagai properti kunci.

Tingkat 1.2: Jenis Array dan Objek tidak lagi didukung sebagai properti kunci.

Deserialisasi jenis boolean di JSON, AVRO, dan PARQUET

Tingkat sebelumnya: Azure Stream Analytics mendeserialisasi nilai Boolean ke dalam jenis BIGINT - peta palsu ke 0 dan peta benar ke 1. Output hanya membuat nilai boolean di JSON, AVRO, dan PARQUET jika Anda secara eksplisit mengonversi peristiwa ke BIT. Misalnya, kueri pass-through seperti SELECT value INTO output1 FROM input1 membaca JSON { "value": true } dari input1 akan menulis ke dalam output1 nilai { "value": 1 }JSON .

Tingkat 1.2: Azure Stream Analytics mendeserialisasi nilai Boolean ke dalam jenis BIT. Peta palsu ke 0 dan peta benar ke 1. Kueri pass-through seperti SELECT value INTO output1 FROM input1 membaca JSON { "value": true } dari input1 akan menulis ke dalam output1 nilai { "value": true }JSON . Anda dapat melemparkan nilai untuk mengetik BIT dalam kueri untuk memastikan nilai tersebut muncul sebagai true dan false dalam output untuk format yang mendukung jenis boolean.

Tingkat kompatibilitas 1.1

Perubahan besar berikut diperkenalkan di tingkat kompatibilitas 1.1:

Format XML Azure Service Bus

Tingkat 1.0: Azure Stream Analytics menggunakan DataContractSerializer, sehingga konten pesan mencakup tag XML. Contohnya:

@\u0006string\b3http://schemas.microsoft.com/2003/10/Serialization/\u0001{ "SensorId":"1", "Temperature":64\}\u0001

1.1 tingkat: Konten pesan berisi aliran secara langsung tanpa tag tambahan. Misalnya: { "SensorId":"1", "Temperature":64}

Sensitivitas huruf besar/kecil yang bertahan untuk nama bidang

Tingkat 1.0: Nama bidang diubah menjadi huruf kecil saat diproses oleh mesin Azure Stream Analytics.

Level 1.1: sensitivitas huruf besar/kecil dipertahankan untuk nama bidang saat diproses oleh mesin Azure Stream Analytics.

Catatan

Sensitivitas huruf besar/kecil yang bertahan belum tersedia untuk pekerjaan Stream Analytic yang di-hosting dengan menggunakan lingkungan Azure Stack Edge. Akibatnya, semua nama bidang dikonversi menjadi huruf kecil jika pekerjaan Anda di-hosting di Azure Stack Edge.

FloatNaNDeserialisasiDisabled

Level 1.0: Perintah BUAT TABEL tidak memfilter peristiwa dengan NaN (Not-a-Number. Misalnya, Infinity, -Infinity) dalam jenis kolom FLOAT karena mereka berada di luar rentang yang didokumentasikan untuk angka-angka ini.

1.1 tingkat: CREATE TABLE memungkinkan Anda menentukan skema yang kuat. Mesin Azure Stream Analytics memvalidasi bahwa data sesuai dengan skema ini. Dengan model ini, perintah dapat memfilter peristiwa dengan nilai NaN.

Nonaktifkan konversi otomatis dari untai (karakter) tanggalwaktu ke jenis DateTime saat masuk untuk JSON

Tingkat 1.0: Pengurai JSON akan secara otomatis mengonversi nilai untai (karakter) dengan informasi tanggal/waktu/zona ke jenis DATETIME saat masuk sehingga nilainya segera kehilangan informasi pemformatan dan zona waktu aslinya. Karena ini dilakukan saat masuk, meskipun bidang tersebut tidak digunakan dalam kueri, bidang tersebut dikonversi menjadi DateTime UTC.

Tingkat 1.1: Tidak ada konversi otomatis nilai untai (karakter) dengan informasi tanggal/waktu/zona ke jenis DATETIME. Akibatnya, informasi zona waktu dan pemformatan asli disimpan. Namun, jika bidang NVARCHAR(MAX) digunakan dalam kueri sebagai bagian dari ekspresi DATETIME (fungsi DATEADD, misalnya), bidang dikonversi ke jenis DATETIME untuk melakukan komputasi dan kehilangan formulir aslinya.

Langkah berikutnya