Condividi tramite


Configurare una fase di origine InfluxDB v2

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.

La fase di origine è la prima e obbligatoria in una pipeline di Azure IoT Data Processor (anteprima). La fase di origine recupera i dati nella pipeline di elaborazione dati e lo prepara per un'ulteriore elaborazione. La fase di origine InfluxDB consente di leggere i dati da un database InfluxDB v2 a un intervallo definito dall'utente.

Nella fase di origine si definiscono:

  • Dettagli della connessione per InfluxDB v2.
  • Intervallo in cui eseguire una query sul database InfluxDB. La fase attende un risultato prima di reimpostare il timer dell'intervallo.
  • Configurazione del partizionamento in base ai requisiti specifici per l'elaborazione dei dati.

Prerequisiti

  • Istanza distribuita di Azure IoT Data Processor Preview che include il componente facoltativo responsabile del trattamento dei dati.
  • Un database InfluxDB con tutti i dati non elaborati necessari è operativo e raggiungibile.

Preparare il database Influx

Per connettersi al database InfluxDB, è necessario:

  • Creare un token di accesso che concede alla pipeline l'accesso in lettura al database InfluxDB. Per altre informazioni, vedere Gestire i token API.
  • Creare un segreto in Azure Key Vault che contiene il token di accesso. Per altre informazioni, vedere Gestire i segreti per la distribuzione di Operazioni IoT di Azure.

Configurare l'origine InfluxDB

Per configurare l'origine InfluxDB:

  • Specificare i dettagli del database InfluxDB. Questa configurazione include il nome del server e una query per recuperare i dati.
  • Specificare il metodo di autenticazione. Attualmente, è possibile usare solo l'autenticazione del token di accesso.

La tabella seguente descrive i parametri di configurazione dell'origine InfluxDB:

Lo schema di base della configurazione di input è costituito da:

Campo Tipo Description Obbligatorio? Default Esempio
Nome string Nome visibile al cliente per la fase di origine. Richiesto ND erp-database
Descrizione Stringa Descrizione visibile al cliente della fase di origine. Facoltativo ND Enterprise database
Database URL String URL del database InfluxDB https://contoso.com/some/url/path
Porta del database Intero Porta del database InfluxDB No 443 443
Organizzazione String L'organizzazione che contiene il bucket da cui eseguire una query test-org test-org
Autenticazione Tipo di autenticazione Metodo di autenticazione per la connessione al server. Supporta accessToken solo il tipo. {"type": "accessToken"} {"type": "accessToken"}
Segreto String Riferimento al token archiviato in Azure Key Vault. AKV_ACCESS_TOKEN
Query Flux String Query InfluxDB {"expression": 'from(bucket:"test-bucket")\|> range(start: -1h) \|> filter(fn: (r) => r._measurement == "stat")'}
Intervallo di query Durata Rappresentazione di stringa del tempo di attesa prima della chiamata API successiva. 24h
Formato dati Formato La fase applica il formato alle singole righe recuperate dalla query. È supportato solo il json formato. Il livello path principale non è supportato. {"type": "json"}
Partizionamento Partizionamento Configurazione del partizionamento per la fase di origine. Richiesto ND Vedere partizionamento

Configurare il partizionamento

Il partizionamento in una pipeline divide i dati in ingresso in partizioni separate. Il partizionamento consente il parallelismo dei dati nella pipeline, che può migliorare la velocità effettiva e ridurre la latenza. Le strategie di partizionamento influiscono sul modo in cui i dati vengono elaborati nelle altre fasi della pipeline. Ad esempio, l'ultima fase del valore noto e la fase di aggregazione operano su ogni partizione logica.

Per partizionare i dati, specificare una strategia di partizionamento e il numero di partizioni da usare:

Campo Descrizione Richiesto Valore predefinito Esempio
Tipo di partizione Tipo di partizionamento da usare: Partizione ID o Partizione Key Richiesto ID ID
Espressione di partizione Espressione jq da usare nel messaggio in ingresso per calcolare la partizione ID o la partizione Key Richiesto 0 .payload.header
Numero di partizioni Numero di partizioni in una pipeline del responsabile del trattamento dei dati. Richiesto 1 1

Il responsabile del trattamento dei dati aggiunge metadati al messaggio in arrivo. Per informazioni su come specificare correttamente l'espressione di partizionamento eseguita nel messaggio in arrivo, vedere Panoramica della struttura dei messaggi del responsabile del trattamento dei dati. Per impostazione predefinita, l'espressione di partizionamento è impostata su 0 con il tipo di partizione per ID inviare tutti i dati in ingresso a una singola partizione.

Per consigli e per altre informazioni, vedere Che cos'è il partizionamento?

Configurazione di esempio

L'esempio JSON seguente mostra una configurazione completa della fase di origine InfluxDB:

{
  "displayName": "InfluxDB v2 - ec8750",
  "type": "input/influxdbv2@v1",
  "query": {
    "expression": "from(bucket:\\\"test-bucket\\\") |> range(start: -1h) |> filter(fn: (r) => r._measurement == \\\"stat\\\")"
  },
  "url": "https://contoso.com/some/url/path",
  "interval": "5s",
  "port": 443,
  "organization": "test-org",
  "format": {
    "type": "json"
  },
  "partitionCount": 1,
  "partitionStrategy": {
    "type": "id",
    "expression": "0"
  },
  "authentication": {
    "type": "accessToken",
    "accessToken": "AKV_ACCESS_TOKEN"
  },
  "description": "Example InfluxDB source stage"
}