Kompatibilitási szint az Azure Stream Analytics-feladatokhoz

Ez a cikk az Azure Stream Analytics kompatibilitási szintjét ismerteti.

A Stream Analytics egy felügyelt szolgáltatás, amely rendszeres funkciófrissítésekkel és folyamatos teljesítménybeli fejlesztésekkel rendelkezik. A szolgáltatás futtatókörnyezetének legtöbb frissítése automatikusan elérhetővé válik a végfelhasználók számára a kompatibilitási szinttől függetlenül. Ha azonban egy új funkció megváltoztatja a meglévő feladatok viselkedését, vagy megváltozik az adatok felhasználása a futó feladatokban, ezt a módosítást egy új kompatibilitási szinten vezetjük be. A kompatibilitási szint beállításának csökkentésével a meglévő Stream Analytics-feladatok jelentős módosítások nélkül is futtathatók. Ha készen áll a legújabb futtatókörnyezeti viselkedésre, a kompatibilitási szint növelésével is bejelentkezhet.

Kompatibilitási szint kiválasztása

A kompatibilitási szint szabályozza a streamelemzési feladatok futtatókörnyezeti viselkedését.

Az Azure Stream Analytics jelenleg három kompatibilitási szintet támogat:

  • 1.2 – Legújabb viselkedés a legújabb fejlesztésekkel
  • 1.1 – Korábbi viselkedés
  • 1.0 – Az Azure Stream Analytics néhány évvel ezelőtti általános elérhetősége során bevezetett eredeti kompatibilitási szint.

Új Stream Analytics-feladat létrehozásakor ajánlott a legújabb kompatibilitási szinttel létrehozni. Kezdje el a feladattervezést a legújabb viselkedésre támaszkodva, hogy később elkerülhesse a további módosításokat és összetettségeket.

A kompatibilitási szint beállítása

A Stream Analytics-feladatok kompatibilitási szintjét az Azure Portalon vagy a rest API-hívás létrehozásakor állíthatja be.

A feladat kompatibilitási szintjének frissítése az Azure Portalon:

  1. Az Azure Portal használatával keresse meg a Stream Analytics-feladatot.
  2. Állítsa le a feladatot a kompatibilitási szint frissítése előtt. Nem frissítheti a kompatibilitási szintet, ha a feladat futó állapotban van.
  3. A Konfigurálás fejléc alatt válassza a Kompatibilitási szintet.
  4. Válassza ki a kívánt kompatibilitási szint értékét.
  5. Válassza a Lap alján található Mentés lehetőséget.

Stream Analytics kompatibilitási szint az Azure Portalon

A kompatibilitási szint frissítésekor a T-fordító a kiválasztott kompatibilitási szintnek megfelelő szintaxissal ellenőrzi a feladatot.

Kompatibilitási szint 1.2

Az 1.2 kompatibilitási szinten a következő főbb változások lépnek életbe:

AMQP üzenetkezelési protokoll

1.2 szint: Az Azure Stream Analytics az Advanced Message Queueing Protocol (AMQP) üzenetkezelési protokollt használja a Service Bus üzenetsoraiba és témaköreibe való íráshoz. Az AMQP lehetővé teszi, hogy platformfüggetlen, hibrid alkalmazásokat hozzon létre nyílt standard protokoll használatával.

Térinformatikai funkciók

Korábbi szintek: Az Azure Stream Analytics földrajzi számításokat használt.

1.2 szint: Az Azure Stream Analytics lehetővé teszi geometriai előrejelzett geokoordináták kiszámítását. A térinformatikai függvények szignatúrája nem változik. Szemantikája azonban kissé eltérő, így pontosabb számítást tesz lehetővé, mint korábban.

Az Azure Stream Analytics támogatja a térinformatikai referenciaadatok indexelését. A térinformatikai elemeket tartalmazó referenciaadatok indexelhetők a gyorsabb illesztési számítások érdekében.

A frissített térinformatikai függvények a jól ismert szöveg (WKT) térinformatikai formátum teljes kifejezőképességét eredményezik. Megadhatja azokat a térinformatikai összetevőket, amelyeket korábban nem támogatott a GeoJson.

További információ: Az Azure Stream Analytics térinformatikai funkcióinak frissítése – Felhő és IoT Edge.

Párhuzamos lekérdezésvégrehajtás több partícióval rendelkező bemeneti forrásokhoz

Korábbi szintek: Az Azure Stream Analytics-lekérdezésekhez a PARTITION BY záradék használata szükséges a lekérdezésfeldolgozás párhuzamossá tételéhez a bemeneti forráspartíciók között.

1.2 szint: Ha a lekérdezési logika párhuzamosítható a bemeneti forráspartíciók között, az Azure Stream Analytics külön lekérdezéspéldányokat hoz létre, és párhuzamosan futtat számításokat.

Natív tömeges API-integráció az Azure Cosmos DB-kimenettel

Előző szintek: A frissítési viselkedés beszúrás vagy egyesítés volt.

1.2 szint: Az Azure Cosmos DB kimenettel való natív Bulk API integráció maximalizálja az átviteli sebességet, és hatékonyan kezeli a terhelés-kiegyenlítő kéréseket. További információkért tekintse meg az Azure Stream Analytics Azure Cosmos DB-be irányuló kimenetét.

Az "upsert" művelet viselkedése: beszúrás vagy csere.

DateTimeOffset sql-kimenetbe való íráskor

Korábbi szintek:A DateTimeOffset típusok UTC-hez lettek igazítva.

1.2 szint: A DateTimeOffset már nincs módosítva.

Hosszú az SQL-kimenetbe való íráskor

Korábbi szintek: Az értékek csonkolva lettek a céltípus alapján.

1.2 szint: A céltípusba nem illeszkedő értékeket a kimeneti hibaházirend szerint kezeli a rendszer.

Rekord- és tömb szerializálás sql-kimenetbe való íráskor

Korábbi szintek: A rekordokat "Rekord" néven, a tömböket pedig "Tömb" néven írták.

1.2 szint: A rekordok és tömbök JSON formátumban vannak szerializálva.

A függvények előtagjának szigorú ellenőrzése

Előző szintek: A függvényelőtagok nem voltak szigorúan érvényesítve.

1.2 szint: Az Azure Stream Analytics szigorúan ellenőrzi a függvényelőtagokat. Ha előtagot ad hozzá egy beépített függvényhez, az hibát okoz. Példáulmyprefix.ABS(…) nem támogatott.

Ha előtagot ad hozzá a beépített aggregátumokhoz, az szintén hibát eredményez. Például myprefix.SUM(…) nem támogatott.

A felhasználó által definiált függvények "rendszer" előtagjának használata hibát eredményez.

Tömb és objektum letiltása kulcstulajdonságként az Azure Cosmos DB kimeneti adapterben

Korábbi szintek: A tömb- és objektumtípusok kulcstulajdonságként lettek támogatva.

1.2 szint: A tömb- és objektumtípusok már nem támogatottak kulcstulajdonságként.

Logikai típus deszerializálása JSON-ban, AVRO-ban és PARQUET-ben

Előző szintek: Az Azure Stream Analytics deszerializálja a logikai értéket BIGINT típusba – hamis térképek 0-ra, igaz térképek 1-esre. A kimenet csak akkor hoz létre logikai értékeket JSON, AVRO és PARQUET nyelven, ha explicit módon konvertálja az eseményeket BIT-vé. Például egy olyan átmenő lekérdezés, mint egy SELECT value INTO output1 FROM input1 JSON { "value": true } beolvasása az 1. bemenetből, JSON-értéket { "value": 1 }ír a kimenet1-be.

1.2 szint: Az Azure Stream Analytics deszerializálja a logikai értéket BIT típusba. Hamis térképek 0-ra, igaz térképek 1-re. Az olyan átmenő lekérdezések, mint a SELECT value INTO output1 FROM input1 JSON { "value": true } beolvasása az 1. bemenetből, JSON-értéket { "value": true }írnak a kimenet1-be. Az értéket BIT típussá alakíthatja a lekérdezésben, hogy az eredményben igazként és hamisként jelenjen meg az olyan formátumokban, amelyek támogatják a logikai típust.

Kompatibilitási szint 1.1

Az 1.1 kompatibilitási szinten a következő főbb változások lépnek életbe:

Service Bus XML-formátum

1.0 szint: Az Azure Stream Analytics a DataContractSerializert használta, így az üzenet tartalma XML-címkéket tartalmazott. Példa:

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

1.1 szint: Az üzenet tartalma közvetlenül, további címkék nélkül tartalmazza a streamet. Például: { "SensorId":"1", "Temperature":64}

A mezőnevek kis- és nagybetű-érzékenységének megőrzése

1.0 szint: A mezőnevek kisbetűsre változtak, amikor az Azure Stream Analytics-motor feldolgozta őket.

1.1 szint: a mezőnevek esetében a kis- és nagybetűk érzékenysége megmarad, amikor az Azure Stream Analytics-motor feldolgozta őket.

Feljegyzés

A kis- és nagybetűk megkülönböztetésének megőrzése épp jelenleg nem érhető el az Edge környezetben üzemeltetett Stream analitikai feladat esetében. Ennek eredményeképpen a rendszer az összes mezőnevet kisbetűssé alakítja, ha a feladat az Edge-en fut.

FloatNaNDeserializationDisabled (Float típusú NaN értékek deszerializálása letiltva)

1.0 szint: A CREATE TABLE parancs nem szűrte az eseményeket a NaN (Not-a-Number) használatával. Például: Infinity, -Infinity) egy FLOAT oszloptípusban, mert nem szerepelnek a számokat tartalmazó dokumentált tartományban.

1.1 szint: A CREATE TABLE lehetővé teszi egy erős séma megadását. A Stream Analytics motor ellenőrzi, hogy az adatok megfelelnek-e ennek a sémának. Ezzel a modellel a parancs NaN-értékekkel szűrheti az eseményeket.

Datetime-sztringek DateTime-típussá való automatikus konvertálásának letiltása a JSON hozzáféréskor.

1.0 szint: A JSON-elemző automatikusan azokat a sztringértékeket, amelyek dátumot/időt/zónát tartalmaznak, DATETIME típusúvá alakítja át az érkező adatnál, így az érték azonnal elveszíti az eredeti formátumot és időzóna-adatokat. Mivel ez bejövő forgalom esetén történik, még akkor is, ha ezt a mezőt nem használták a lekérdezésben, az UTC DateTime-ra lesz konvertálva.

1.1 szint: A dátum/idő/zóna információval rendelkező sztringértékek nem konvertálnak automatikusan DATETIME típusra. Ennek eredményeképpen az időzónák adatai és az eredeti formázás megmaradnak. Ha azonban az NVARCHAR(MAX) mezőt egy DATETIME-kifejezés (például DATEADD függvény) részeként használják a lekérdezésben, akkor a számítás végrehajtásához DATETIME típussá konvertálja, és elveszíti eredeti formáját.

Következő lépések