Share via


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örnyezeteinek 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 engedélyezheti.

Kompatibilitási szint kiválasztása

A kompatibilitási szint szabályozza a Stream Analytics-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 – Előző 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 szint használatával létrehozni. Kezdje el a feladattervezést a legújabb viselkedésekre támaszkodva, hogy később elkerülje 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 a Azure Portal vagy a create job REST API-hívással állíthatja be.

A feladat kompatibilitási szintjének frissítése a Azure Portal:

  1. A Azure Portal segítségével keresse meg a Stream Analytics-feladatot.
  2. A kompatibilitási szint frissítése előtt állítsa le a feladatot. A kompatibilitási szint nem frissíthető, ha a feladat futó állapotban van.
  3. A Konfigurálás fejléc alatt válassza a Kompatibilitási szint lehetőséget.
  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.

A Stream Analytics kompatibilitási szintje Azure Portal

A kompatibilitási szint frissítéseké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-es 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-üzenetsorok és -témakörök írásához. Az AMQP lehetővé teszi, hogy platformfüggetlen hibrid alkalmazásokat hozzon létre nyílt standard protokollal.

Térinformatikai funkciók

Előző szintek: Az Azure Stream Analytics földrajzi számításokat használt.

1.2 szint: Az Azure Stream Analytics lehetővé teszi a mértani előre jelzett földrajzi koordináták kiszámítását. A térinformatikai függvények aláírása nem változik. Szemantikájuk azonban kissé eltér, így a korábbinál pontosabb számítást tesz lehetővé.

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ásokhoz.

A frissített térinformatikai függvények teljes mértékben kifejezik a jól ismert szöveg (WKT) térinformatikai formátumát. Megadhatja azokat a térinformatikai összetevőket, amelyeket korábban nem támogatott a GeoJson.

További információ: Frissítések az Azure Stream Analytics térinformatikai funkcióihoz – felhőbeli és IoT Edge.

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

Előző szintek: Az Azure Stream Analytics-lekérdezések megkövetelik a PARTITION BY záradék használatát a lekérdezésfeldolgozás párhuzamosításához 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ési példányokat hoz létre, és párhuzamosan futtatja a számításokat.

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

Előző szintek: Az upsert viselkedés beszúrása vagy egyesítése megtörtént.

1.2 szint: Natív tömeges API-integráció az Azure Cosmos DB-kimenettel maximalizálja az átviteli sebességet, és hatékonyan kezeli a szabályozási kéréseket. További információ : Az Azure Stream Analytics kimenete az Azure Cosmos DB-be oldalon.

Az upsert viselkedés beszúrása vagy cseréje.

DateTimeOffset az 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

Előző szintek: Az értékek csonkultak a céltípus alapján.

1.2 szint: A céltípushoz nem illeszkedő értékeket a rendszer a kimeneti hibaszabályzatnak megfelelően kezeli.

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

Előző szintek: A rekordok "Record" (Rekord) néven, a tömbök pedig "Tömbként" lettek megírva.

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 összesítésekhez, az szintén hibát eredményez. Például myprefix.SUM(…) nem támogatott.

A "rendszer" előtag felhasználó által definiált függvényekhez való használata hibát eredményez.

Tömb és objektum kulcstulajdonságokként való letiltása az Azure Cosmos DB kimeneti adapterében

Előző szintek: A tömb- és objektumtípusok kulcstulajdonságként támogatottak.

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ípusúra – hamis leképezéseket 0-ra, a valódi leképezéseket pedig 1-re. A kimenet csak akkor hoz létre logikai értékeket JSON-ban, AVRO-ban és PARQUET-ben, ha explicit módon konvertálja az eseményeket BIT értékké. Például egy átmenő lekérdezés, például SELECT value INTO output1 FROM input1 egy 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ípusúra. False maps to 0 and true maps to 1. Egy átmenő lekérdezés, például SELECT value INTO output1 FROM input1 egy JSON { "value": true } beolvasása az input1-ből, JSON-értéket { "value": true }ír a kimenetbe1. A bitet a lekérdezésbe beírhatja, így meggyőződhet arról, hogy azok a logikai típust támogató formátumok kimenetében true (igaz) és false (hamis) értékként jelennek meg.

Kompatibilitási szint 1.1

Az 1.1-es 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éldául:

@\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űkre vonatkozó érzékenységének megőrzése

1.0 szint: A mezőneveket kisbetűsre módosították, amikor az Azure Stream Analytics-motor feldolgozta.

1.1 szint: a kis- és nagybetűk megkülönböztetése megmarad a mezőnevek esetében, amikor az Azure Stream Analytics-motor feldolgozta őket.

Megjegyzés

A kis- és nagybetűk megőrzése még nem érhető el az Edge-környezettel üzemeltetett Stream-elemzési feladatokhoz. Ennek eredményeképpen a rendszer az összes mezőnevet kisbetűssé alakítja, ha a feladat az Edge-en fut.

FloatNaNDeserializationDisabled

1.0 szint: A CREATE TABLE parancs nem szűrte az eseményeket NaN (Not-a-Number) értékekkel. Például: Infinity, -Infinity) egy FLOAT oszloptípusban, mert ezek a számok nem szerepelnek a 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.

A datetime sztringek DateTime típusúra való automatikus konvertálásának letiltása bejövő forgalom esetén jSON-ra

1.0 szint: A JSON-elemző automatikusan date/time/zone típusúra konvertálja a dátum-/idő/zónaadatokat tartalmazó sztringértékeket bejövő forgalom esetén, így az érték azonnal elveszíti az eredeti formázási és időzóna-információkat. 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, a rendszer UTC DateTime-ra konvertálja.

1.1 szint: A dátum-/idő-/zónainformációkat tartalmazó sztringértékek nem konvertálnak automatikusan DATETIME típusra. Ennek eredményeképpen a rendszer megőrzi az időzónával kapcsolatos információkat és az eredeti formázást. 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, a függvény a számítás végrehajtásához DATETIME típusra konvertálja, és elveszíti az eredeti űrlapját.

Következő lépések