Azure Stream Analytics işleri için uyumluluk düzeyi

Bu makalede Azure Stream Analytics'teki uyumluluk düzeyi seçeneği açıklanmaktadır.

Stream Analytics, düzenli özellik güncelleştirmeleri ve sürekli performans iyileştirmeleri içeren yönetilen bir hizmettir. Hizmetin çalışma zamanı güncelleştirmelerinin çoğu, uyumluluk düzeyinden bağımsız olarak otomatik olarak son kullanıcıların kullanımına sunulur. Ancak, yeni bir işlevsellik mevcut işlerin davranışında bir değişiklik veya çalışan işlerde verilerin kullanım biçiminde bir değişiklik ortaya çıktığında, bu değişikliği yeni bir uyumluluk düzeyi altında sunarız. Uyumluluk düzeyi ayarını düşürerek mevcut Stream Analytics işlerinizi büyük değişiklikler olmadan çalışır durumda tutabilirsiniz. En son çalışma zamanı davranışlarına hazır olduğunuzda uyumluluk düzeyini yükselterek kabul edebilirsiniz.

Uyumluluk düzeyi seçin

Uyumluluk düzeyi, bir akış analizi işinin çalışma zamanı davranışını denetler.

Azure Stream Analytics şu anda üç uyumluluk düzeyini destekler:

  • 1.2 - En son geliştirmelerle en yeni davranış
  • 1.1 - Önceki davranış
  • 1.0 - Birkaç yıl önce Azure Stream Analytics'in genel kullanıma sunulması sırasında sunulan özgün uyumluluk düzeyi.

Yeni bir Stream Analytics işi oluşturduğunuzda, en son uyumluluk düzeyini kullanarak oluşturmak en iyi yöntemdir. Daha sonra ek değişiklik ve karmaşıklık oluşmasını önlemek için en son davranışları kullanarak iş tasarımınızı başlatın.

Uyumluluk düzeyini ayarlama

Stream Analytics işinin uyumluluk düzeyini Azure portalında veya oluşturma işi REST API çağrısını kullanarak ayarlayabilirsiniz.

Azure portalında işin uyumluluk düzeyini güncelleştirmek için:

  1. Stream Analytics işinizi bulmak için Azure portalını kullanın.
  2. Uyumluluk düzeyini güncelleştirmeden önce işi durdurun . İşiniz çalışır durumdaysa uyumluluk düzeyini güncelleştiremezsiniz.
  3. Yapılandır başlığı altında Uyumluluk düzeyi'ni seçin.
  4. İstediğiniz uyumluluk düzeyi değerini seçin.
  5. Sayfanın alt kısmındaki Kaydet'i seçin.

Azure portalında Stream Analytics uyumluluk düzeyi

Uyumluluk düzeyini güncelleştirdiğinizde, T derleyicisi işi seçilen uyumluluk düzeyine karşılık gelen söz dizimi ile doğrular.

Uyumluluk düzeyi 1.2

Uyumluluk düzeyi 1.2'de aşağıdaki önemli değişiklikler kullanıma sunulmuştur:

AMQP mesajlaşma protokolü

1.2 düzeyi: Azure Stream Analytics, Service Bus Kuyruklarına ve Konu Başlıklarına yazmak için Gelişmiş İleti Kuyruğa Alma Protokolü (AMQP) mesajlaşma protokollerini kullanır. AMQP, açık standart bir protokol kullanarak platformlar arası, karma uygulamalar oluşturmanıza olanak tanır.

Jeo-uzamsal işlevler

Önceki düzeyler: Azure Stream Analytics Coğrafya hesaplamalarını kullanıyordu.

1.2 düzeyi: Azure Stream Analytics, Geometrik öngörülen coğrafi koordinatları hesaplamanızı sağlar. Jeo-uzamsal işlevlerin imzasında bir değişiklik yoktur. Ancak semantiği biraz farklıdır ve öncekinden daha hassas hesaplamalara olanak sağlar.

Azure Stream Analytics, jeo-uzamsal başvuru veri dizini oluşturmayı destekler. Daha hızlı birleştirme hesaplaması için jeo-uzamsal öğeler içeren Başvuru Verileri dizine eklenebilir.

Güncelleştirilmiş jeo-uzamsal işlevler, İyi Bilinen Metin (WKT) jeo-uzamsal biçiminin tam ifadesini getirir. Daha önce GeoJson ile desteklenmeyen diğer jeo-uzamsal bileşenleri belirtebilirsiniz.

Daha fazla bilgi için bkz . Azure Stream Analytics – Bulut ve IoT Edge'deki jeo-uzamsal özelliklere yönelik güncelleştirmeler.

Birden çok bölüme sahip giriş kaynakları için paralel sorgu yürütme

Önceki düzeyler: Azure Stream Analytics sorguları, giriş kaynağı bölümleri arasında sorgu işlemeyi paralelleştirmek için PARTITION BY yan tümcesinin kullanılmasını gerektiriyor.

1.2 düzeyi: Sorgu mantığı giriş kaynağı bölümleri arasında paralelleştirilebilirse Azure Stream Analytics ayrı sorgu örnekleri oluşturur ve hesaplamaları paralel olarak çalıştırır.

Azure Cosmos DB çıkışıyla yerel Toplu API tümleştirmesi

Önceki düzeyler: Upsert davranışı ekleme veya birleştirmeydi.

1.2 düzeyi: Azure Cosmos DB çıkışıyla Yerel Toplu API tümleştirmesi, aktarım hızını en üst düzeye çıkarır ve azaltma isteklerini verimli bir şekilde işler. Daha fazla bilgi için Bkz . Azure Cosmos DB'ye Azure Stream Analytics çıkışı sayfası.

Upsert davranışı ekleme veya değiştirme işlemidir.

SQL çıkışına yazarken DateTimeOffset

Önceki düzeyler: DateTimeOffset türleri UTC olarak ayarlandı.

1.2 düzeyi: DateTimeOffset artık ayarlanmamış.

SQL çıkışına yazarken uzun

Önceki düzeyler: Değerler hedef türe göre kesilmişti.

1.2 düzeyi: Hedef türe sığmayan değerler çıkış hata ilkesine göre işlenir.

SQL çıkışına yazarken kayıt ve dizi serileştirme

Önceki düzeyler: Kayıtlar "Kayıt" olarak, diziler ise "Dizi" olarak yazılmıştır.

1.2 düzeyi: Kayıtlar ve diziler JSON biçiminde serileştirilir.

İşlev ön ekinin kesin doğrulanması

Önceki düzeyler: İşlev ön eklerinin kesin bir doğrulaması yoktu.

1.2 düzeyi: Azure Stream Analytics'in işlev ön eklerinin kesin bir doğrulaması vardır. Yerleşik bir işleve ön ek eklemek hataya neden olur. Örneğin myprefix.ABS(…) desteklenmez.

Yerleşik toplamalara bir ön ek eklemek de hatayla sonuçlanır. Örneğin myprefix.SUM(…) desteklenmez.

Kullanıcı tanımlı işlevler için "system" ön ekinin kullanılması hatayla sonuçlanır.

Azure Cosmos DB çıkış bağdaştırıcısında anahtar özellikleri olarak Dizi ve Nesne'ye izin verme

Önceki düzeyler: Dizi ve Nesne türleri bir anahtar özelliği olarak destekleniyordu.

1.2 düzeyi: Dizi ve Nesne türleri artık anahtar özelliği olarak desteklenmiyor.

JSON, AVRO ve PARQUET'de boole türünü seri durumdan çıkarma

Önceki düzeyler: Azure Stream Analytics, Boole değerini BIGINT türüne seri durumdan çıkarır- yanlış değer 0'a, doğru değer 1'e eşlenir. Çıkış yalnızca olayları açıkça BIT'e dönüştürürseniz JSON, AVRO ve PARQUET'de boole değerleri oluşturur. Örneğin, input1'den JSON { "value": true } okuma gibi SELECT value INTO output1 FROM input1 bir geçiş sorgusu output1'e bir JSON değeri { "value": 1 }yazar.

1.2 düzeyi: Azure Stream Analytics Boole değerini BIT türüne seri durumdan çıkarmaktadır. Yanlış 0 ile eşler ve doğru 1'e eşler. Input1'den JSON { "value": true } okuma gibi SELECT value INTO output1 FROM input1 bir geçiş sorgusu output1'e bir JSON değeri { "value": true }yazar. Boole türünü destekleyen biçimler için çıkışta true ve false olarak göründüklerinde emin olmak için sorguda BIT türüne değer atayabilirsiniz.

Uyumluluk düzeyi 1.1

Uyumluluk düzeyi 1.1'de aşağıdaki önemli değişiklikler kullanıma sunulmuştur:

Service Bus XML biçimi

1.0 düzeyi: Azure Stream Analytics DataContractSerializer'ı kullandığından, ileti içeriği XML etiketlerini içeriyor. Örneğin:

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

1.1 düzeyi: İleti içeriği, ek etiket olmadan akışı doğrudan içerir. Örneğin: { "SensorId":"1", "Temperature":64}

Alan adları için kalıcı büyük/küçük harf duyarlılığı

1.0 düzeyi: Azure Stream Analytics altyapısı tarafından işlendiğinde alan adları küçük harfle değiştirildi.

1.1 düzeyi: Alan adları Azure Stream Analytics altyapısı tarafından işlendiğinde büyük/küçük harf duyarlılığı kalıcı hale getirir.

Not

Edge ortamı kullanılarak barındırılan Stream Analytic işleri için büyük/küçük harf duyarlılığının kalıcı olması henüz sağlanmamaktadır. Sonuç olarak, işiniz Edge'de barındırılıyorsa tüm alan adları küçük harfe dönüştürülür.

FloatNaNDeserializationDisabled

1.0 düzeyi: CREATE TABLE komutu NaN (Sayı Değil) ile olayları filtrelemedi. Örneğin, FLOAT sütun türünde Infinity, -Infinity) çünkü bunlar bu sayılar için belgelenen aralığın dışındadır.

1.1 düzeyi: CREATE TABLE güçlü bir şema belirtmenize olanak tanır. Stream Analytics altyapısı, verilerin bu şemaya uygun olduğunu doğrular. Bu modelle, komutu NaN değerleriyle olayları filtreleyebilir.

JSON için girişte datetime dizelerinin DateTime türüne otomatik olarak dönüştürülmesi devre dışı bırak

1.0 düzeyi: JSON ayrıştırıcısı, tarih/saat/bölge bilgilerine sahip dize değerlerini girişte DATETIME türüne otomatik olarak dönüştürür, böylece değer özgün biçimlendirmesini ve saat dilimi bilgilerini hemen kaybeder. Bu işlem girişte yapıldığından, bu alan sorguda kullanılmamış olsa bile UTC DateTime'a dönüştürülür.

1.1 düzeyi: Tarih/saat/bölge bilgilerine sahip dize değerlerinin DATETIME türüne otomatik olarak dönüştürülmesi yoktur. Sonuç olarak, saat dilimi bilgileri ve özgün biçimlendirme korunur. Ancak, sorguda NVARCHAR(MAX) alanı bir DATETIME ifadesinin (örneğin DATEADD işlevi) parçası olarak kullanılıyorsa, hesaplamayı gerçekleştirmek için DATETIME türüne dönüştürülür ve özgün biçimini kaybeder.

Sonraki adımlar