Share via


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:

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:

Fält beskrivning Obligatoriskt Standardvärde Exempel
Partitionstyp Vilken typ av partitionering som ska användas: Partition ID eller partition Key Obligatoriskt ID ID
Partitionsuttryck JQ-uttrycket som ska användas i det inkommande meddelandet för att beräkna partitionen ID eller partitionenKey Obligatoriskt 0 .payload.header
Antal partitioner Antalet partitioner i en dataprocessorpipeline. Obligatoriskt 1 1

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"
}