Konfigurera en Source-fas för InfluxDB v2
Viktigt!
Förhandsversion av Azure IoT Operations – aktiverad av Azure Arc finns för närvarande i FÖRHANDSVERSION. Du bör inte använda den här förhandsgranskningsprogramvaran i produktionsmiljöer.
Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Källfasen är den första och nödvändiga fasen i en Azure IoT Data Processor-pipeline (förhandsversion). Källsteget hämtar data till databearbetningspipelinen och förbereder dem för vidare bearbetning. Med källsteget InfluxDB kan du läsa data från en InfluxDB v2-databas med ett användardefinierat intervall.
I källfasen definierar du:
- Anslut ionsinformation för InfluxDB v2.
- Det intervall med vilket du vill köra frågor mot InfluxDB-databasen. Fasen väntar på ett resultat innan intervalltimern återställs.
- En partitioneringskonfiguration baserat på dina specifika databehandlingskrav.
Förutsättningar
- En fungerande instans av dataprocessorn distribueras.
- En InfluxDB-databas med alla nödvändiga rådata är i drift och kan nås.
Förbereda Tillströmningsdatabasen
Om du vill ansluta till InfluxDB-databasen måste du:
- Skapa en åtkomsttoken som ger pipelinen läsåtkomst till InfluxDB-databasen. Mer information finns i Hantera API-token.
- Skapa en hemlighet i Azure Key Vault som innehåller åtkomsttoken. Mer information finns i Hantera hemligheter för din Azure IoT Operations-distribution.
Konfigurera InfluxDB-källan
Så här konfigurerar du InfluxDB-källan:
- Ange information om InfluxDB-databasen. Den här konfigurationen innehåller servernamnet och en fråga för att hämta data.
- Ange autentiseringsmetoden. För närvarande kan du bara använda autentisering med åtkomsttoken.
I följande tabell beskrivs parametrarna för Source Configuration i InfluxDB:
Basschemat för indatakonfigurationen består av:
Fält | Type | Beskrivning | Obligatorisk? | Standardvärde | Exempel |
---|---|---|---|---|---|
Name | String | Ett kund synligt namn för källfasen. | Obligatoriskt | NA | erp-database |
beskrivning | String | En kund synlig beskrivning av källsteget. | Valfritt | NA | Enterprise database |
Databas-URL | String | URL för Databasen InfluxDB | Ja | https://contoso.com/some/url/path |
|
Databasport | Integer | Databasporten för InfluxDB | Nej | 443 | 443 |
Organisation | String | Den organisation som innehåller bucketen att fråga från | Ja | test-org |
test-org |
Autentisering | Authentication type | Autentiseringsmetoden för att ansluta till servern. Stöder accessToken endast typ. |
Ja | {"type": "accessToken"} |
{"type": "accessToken"} |
Hemlig | String | Referens till den token som lagras i Azure Key Vault. | Ja | Ja | AKV_ACCESS_TOKEN |
Flux-fråga | String | Frågan för InfluxDB | Ja | {"expression": 'from(bucket:"test-bucket")\|> range(start: -1h) \|> filter(fn: (r) => r._measurement == "stat")'} |
|
Frågeintervall | Varaktighet | Strängrepresentation av tiden innan nästa API-anrop. | Ja | 24h |
|
Dataformat | Format | Fasen tillämpar formatet på enskilda rader som hämtas av frågan. json Endast formatet stöds. Den översta nivån path stöds inte. |
Ja | {"type": "json"} |
|
Partitionering | Partitionering | Partitioneringskonfiguration för källsteget. | Obligatoriskt | NA | Se partitionering |
Konfigurera partitionering
Partitionering i en pipeline delar in inkommande data i separata partitioner. Partitionering möjliggör dataparallellitet i pipelinen, vilket kan förbättra dataflödet och minska svarstiden. Partitioneringsstrategier påverkar hur data bearbetas i de andra stegen i pipelinen. Det senaste kända värdesteget och aggregeringssteget fungerar till exempel på varje logisk partition.
Om du vill partitionera dina data anger du en partitioneringsstrategi och antalet partitioner som ska användas:
Dataprocessorn lägger till metadata i det inkommande meddelandet. Se Översikt över dataprocessorns meddelandestruktur för att förstå hur du korrekt anger partitioneringsuttrycket som körs på det inkommande meddelandet. Som standard är partitioneringsuttrycket inställt 0
på med partitionstypen som ID
att skicka alla inkommande data till en enda partition.
Rekommendationer och mer information finns i Vad är partitionering?.
Exempelkonfiguration
I följande JSON-exempel visas en fullständig konfiguration av TillströmningSB-källsteg:
{
"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"
}