Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara oraQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Questo articolo descrive l'opzione di livello di compatibilità in Analisi di flusso di Azure.
Analisi di flusso è un servizio gestito, con aggiornamenti regolari delle funzionalità e miglioramenti costanti delle prestazioni. La maggior parte degli aggiornamenti dei runtime del servizio viene resa automaticamente disponibile agli utenti finali, indipendentemente dal livello di compatibilità. Tuttavia, quando una nuova funzionalità introduce una modifica nel comportamento dei processi esistenti o una modifica nel modo in cui i dati vengono utilizzati nei processi in esecuzione, viene introdotta questa modifica sotto un nuovo livello di compatibilità. È possibile mantenere in esecuzione i processi di Analisi di flusso esistenti senza modifiche importanti lasciando ridotta l'impostazione del livello di compatibilità. Quando si è pronti per i comportamenti di runtime più recenti, è possibile acconsentire esplicitamente aumentando il livello di compatibilità.
Il livello di compatibilità controlla il comportamento di runtime di un processo di Analisi di flusso.
Analisi di flusso di Azure supporta attualmente tre livelli di compatibilità:
Quando si crea un nuovo processo di Analisi di flusso, è consigliabile crearlo usando il livello di compatibilità più recente. Avviare la progettazione del processo in base ai comportamenti più recenti, per evitare modifiche aggiunte e complessità in un secondo momento.
È possibile impostare il livello di compatibilità per un processo di Analisi di flusso nel portale di Azure o usando la chiamata API REST del processo di creazione.
Per aggiornare il livello di compatibilità del processo nella portale di Azure:
Quando si aggiorna il livello di compatibilità, il compilatore T convalida il processo con la sintassi corrispondente al livello di compatibilità selezionato.
Le modifiche principali seguenti vengono introdotte nel livello di compatibilità 1.2:
1.2 livello: Analisi di flusso di Azure usa il protocollo di messaggistica AMQP (Advanced Message Queueing Protocol) per scrivere in code e argomenti del bus di servizio. AMQP consente di creare applicazioni ibride multipiattaforma usando un protocollo aperto standard.
Livelli precedenti: Analisi di flusso di Azure ha usato i calcoli geography.
1.2 livello: Analisi di flusso di Azure consente di calcolare coordinate geografiche geometriche proiettate. Non esiste alcuna modifica nella firma delle funzioni geospaziali. Tuttavia, la semantica è leggermente diversa, consentendo un calcolo più preciso rispetto a prima.
Analisi di flusso di Azure supporta l'indicizzazione dei dati di riferimento geospaziali. I dati di riferimento contenenti elementi geospaziali possono essere indicizzati per un calcolo di join più veloce.
Le funzioni geospaziali aggiornate portano l'espressività completa del formato geospaziale (WKT). È possibile specificare altri componenti geospaziali non supportati in precedenza con GeoJson.
Per altre informazioni, vedere Aggiornamenti alle funzionalità geospaziali in Analisi di flusso di Azure - Cloud e IoT Edge.
Livelli precedenti: Le query di Analisi di flusso di Azure richiedono l'uso della clausola PARTITION BY per parallelizzare l'elaborazione delle query tra partizioni di origine di input.
1.2 livello: Se la logica di query può essere parallelizzata tra partizioni di origine di input, Analisi di flusso di Azure crea istanze di query separate ed esegue calcoli in parallelo.
Livelli precedenti: Il comportamento upsert è stato inserito o unione.
1.2 livello: L'integrazione dell'API bulk nativa con l'output di Azure Cosmos DB ottimizza la velocità effettiva e gestisce in modo efficiente le richieste di limitazione delle richieste. Per altre informazioni, vedere la pagina Output di Analisi di flusso di Azure nella pagina Azure Cosmos DB.
Il comportamento upsert è inserito o sostituito.
I livelli precedenti:Tipi DateTimeOffset sono stati modificati in UTC.
1.2 livello: DateTimeOffset non viene più modificato.
Livelli precedenti: I valori sono stati troncati in base al tipo di destinazione.
1.2 livello: I valori che non rientrano nel tipo di destinazione vengono gestiti in base ai criteri di errore di output.
Livelli precedenti: I record sono stati scritti come "Record" e matrici sono stati scritti come "Array".
1.2 livello: I record e le matrici vengono serializzati in formato JSON.
Livelli precedenti: Non è stata eseguita alcuna convalida rigorosa dei prefissi delle funzioni.
1.2 livello: Analisi di flusso di Azure ha una convalida rigorosa dei prefissi delle funzioni. L'aggiunta di un prefisso a una funzione predefinita causa un errore. Ad esempio,myprefix.ABS(…)
non è supportato.
L'aggiunta di un prefisso alle aggregazioni predefinite genera anche un errore. Ad esempio, myprefix.SUM(…)
non è supportato.
L'uso del prefisso "system" per le funzioni definite dall'utente genera un errore.
Livelli precedenti: I tipi array e Object sono stati supportati come proprietà chiave.
1.2 livello: I tipi array e Object non sono più supportati come proprietà chiave.
Livelli precedenti: Analisi di flusso di Azure deserializza il valore booleano nel tipo BIGINT: false esegue il mapping a 0 e true a 1. L'output crea solo valori booleani in JSON, AVRO e PARQUET se si converte in modo esplicito gli eventi in BIT.
Ad esempio, una query pass-through come SELECT value INTO output1 FROM input1
la lettura di un codice JSON { "value": true }
dall'input1 scriverà in output1 un valore { "value": 1 }
JSON.
1.2 livello: Analisi di flusso di Azure deserializza il valore booleano nel tipo BIT. False esegue il mapping a 0 e true a 1. Una query pass-through come SELECT value INTO output1 FROM input1
la lettura di un codice JSON { "value": true }
dall'input1 scriverà nell'output1 un valore { "value": true }
JSON. È possibile eseguire il cast del valore per digitare BIT nella query per assicurarsi che vengano visualizzati come true e false nell'output per i formati che supportano il tipo booleano.
Nel livello di compatibilità 1.1 sono state introdotte le modifiche sostanziali seguenti:
1.0 livello: Analisi di flusso di Azure usa DataContractSerializer, quindi il contenuto del messaggio include tag XML. Ad esempio:
@\u0006string\b3http://schemas.microsoft.com/2003/10/Serialization/\u0001{ "SensorId":"1", "Temperature":64\}\u0001
1.1 livello: Il contenuto del messaggio contiene il flusso direttamente senza tag aggiuntivi. ad esempio { "SensorId":"1", "Temperature":64}
1.0 livello: I nomi dei campi sono stati modificati in minuscolo quando elaborati dal motore di Analisi di flusso di Azure.
1.1 livello: la distinzione tra maiuscole e minuscole viene mantenuta per i nomi dei campi quando vengono elaborati dal motore di Analisi di flusso di Azure.
Nota
La distinzione tra maiuscole e minuscole persistente non è ancora disponibile per i processi di Analisi di flusso ospitati in un ambiente di dispositivo perimetrale. Se il processo è ospitato in un dispositivo perimetrale, quindi, tutti i nomi di campo vengono convertiti in caratteri minuscoli.
1.0 livello: Il comando CREATE TABLE non ha filtrato gli eventi con NaN (Not-a-Number). Ad esempio, Infinity, -Infinity) in un tipo di colonna FLOAT perché sono fuori dall'intervallo documentato per questi numeri.
1.1 livello: CREATE TABLE consente di specificare uno schema sicuro. Il motore di Analisi di flusso convalida la conformità dei dati a questo schema e, con questo modello, il comando può filtrare anche eventi contrassegnati con valori NaN.
1.0 livello: Il parser JSON converte automaticamente i valori stringa con informazioni di data/ora/fuso orario nel tipo DATETIME in ingresso, pertanto il valore perde immediatamente le informazioni di formattazione e fuso orario originali. Poiché questa operazione viene eseguita in ingresso, anche se tale campo non è stato usato nella query, viene convertito in DateTime UTC.
1.1 livello: Non esiste alcuna conversione automatica dei valori stringa con informazioni di data/ora/fuso orario nel tipo DATETIME. Di conseguenza, le informazioni sul fuso orario e la formattazione originale vengono mantenute. Tuttavia, se il campo NVARCHAR(MAX) viene usato nella query come parte di un'espressione DATETIME (funzione DATEADD, ad esempio), viene convertito in tipo DATETIME per eseguire il calcolo e perde il formato originale.
Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara ora