Trasformare i dati in una pipeline di anteprima del processore di dati IoT di Azure
Importante
Anteprima delle operazioni di Azure IoT: abilitata da Azure Arc è attualmente disponibile in ANTEPRIMA. Non è consigliabile usare questo software di anteprima negli ambienti di produzione.
Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.
Usare la fase di trasformazione per eseguire trasformazioni strutturali sui messaggi in una pipeline, ad esempio:
- Rinominare tag e proprietà
- Annullare il recupero dei dati
- Aggiungere nuove proprietà
- Aggiungere valori calcolati
La fase di trasformazione usa jq per supportare la trasformazione dei dati:
- Ogni partizione della pipeline trasforma i messaggi indipendentemente l'uno dall'altro.
- La fase restituisce un messaggio trasformato in base all'espressione jq specificata.
- Creare un'espressione jq per trasformare un messaggio in base alla struttura del messaggio in arrivo nella fase.
Prerequisiti
Per configurare e usare una fase della pipeline di trasformazione, è necessario:
- Istanza distribuita di Azure IoT Data Processor Preview che include il componente facoltativo responsabile del trattamento dei dati.
- Conoscenza delle espressioni jq.
Configurare la fase
La configurazione JSON della fase di trasformazione definisce i dettagli della fase. Per creare la fase, è possibile interagire con l'interfaccia utente basata su form o specificare la configurazione JSON nella scheda Avanzate :
Nome | Valore | Obbligatorio | Esempio |
---|---|---|---|
Nome | Nome da visualizzare nell'interfaccia utente del responsabile del trattamento dei dati. | Sì | Transform1 |
Descrizione | Descrizione intuitiva delle operazioni della fase di trasformazione. | No | Rename Tags |
Query | Espressione jq di trasformazione. | Sì | .payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add) |
Configurazione di esempio
L'esempio di trasformazione seguente converte la matrice di tag nel messaggio di input in un oggetto contenente tutti i tag e i relativi valori:
{
"displayName": "TransformInput",
"description": "Make array of tags into one object",
"query": ".payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)"
}
L'output della fase di trasformazione è simile all'esempio seguente:
{
"systemProperties": {
"partitionKey": "foo",
"partitionId": 5,
"timestamp": "2023-01-11T10:02:07Z"
},
"qos": 1,
"topic": "/assets/foo/tags/bar",
"properties": {
"responseTopic": "outputs/foo/tags/bar",
"contentType": "application/json",
"payloadFormat": 1,
"correlationData": "base64::Zm9v",
"messageExpiry": 412
},
"userProperties": [
{
"key": "prop1",
"value": "value1"
},
{
"key": "prop2",
"value": "value2"
}
],
"payload": {
"values": {
"temperature": 250,
"pressure": 30,
"humidity": 10,
"runningStatus": true
}
}
}
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per