Share via


Konfigurera en HTTP-slutpunktskälla i en azure IoT Data Processor Preview-pipeline

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 Preview-pipeline. Källsteget hämtar data till databearbetningspipelinen och förbereder dem för vidare bearbetning. I http-slutpunktskällans fas kan du läsa data från en HTTP-slutpunkt med ett användardefinierat intervall. Fasen har en valfri begärandetext och tar emot ett svar från slutpunkten.

I källfasen definierar du:

  • Anslut information till HTTP-slutpunkten.
  • Det intervall med vilket HTTP-slutpunkten ska anropas. Fasen väntar på ett svar innan intervalltimern återställs.
  • En partitioneringskonfiguration baserat på dina specifika databehandlingskrav.

Förutsättningar

  • En fungerande instans av dataprocessorn distribueras.
  • En HTTP-slutpunkt med alla nödvändiga rådata tillgängliga är i drift och kan nås.

Konfigurera HTTP-slutpunktskällan

Så här konfigurerar du HTTP-slutpunktskällan:

  • Ange information om HTTP-slutpunkten. Den här konfigurationen innehåller metoden, URL:en och nyttolasten för begäranden som ska användas.
  • Ange autentiseringsmetoden. För närvarande begränsad till användarnamn/lösenordsbaserad eller rubrikbaserad autentisering.

I följande tabell beskrivs konfigurationsparametrarna för HTTP-slutpunktskällan:

Fält Type Beskrivning Obligatoriskt Standardvärde Exempel
Name String Ett kund synligt namn för källfasen. Obligatoriskt NA erp-endpoint
beskrivning String En kund synlig beskrivning av källsteget. Valfritt NA Enterprise application data
Metod Enum DEN HTTP-metod som ska användas för begäranden. En av GET eller POST Valfritt GET GET
webbadress String URL:en som ska användas för begäranden. Både http och https stöds. Obligatoriskt NA https://contoso.com/some/url/path
Autentisering Authentication type Autentiseringsmetoden för HTTP-begäran. Något av: None, Username/Passwordeller Header. Valfritt NA Username/Password
Användarnamn/lösenord > användarnamn String Användarnamnet för autentisering med användarnamn/lösenord Ja NA myuser
Användarnamn/lösenordshemlighet > Referens till lösenordet som lagras i Azure Key Vault. Ja Ja AKV_USERNAME_PASSWORD
Rubriknyckel > String Namnet på nyckeln för huvudbaserad autentisering. Ja NA Authorization
Rubrikvärde > String Namnet på autentiseringsuppgifterna i Azure Key Vault för huvudbaserad autentisering. Ja NA AKV_PASSWORD
Dataformat Format Dataformat för inkommande data Obligatoriskt NA {"type": "json"}
Begärandetext för API-begäran > String Den statiska begärandetexten som ska skickas med HTTP-begäran. Valfritt NA {"foo": "bar"}
API-begäranderubriker > Nyckel/värde-par De statiska begärandehuvuden som ska skickas med HTTP-begäran. Valfritt NA [{"key": {"type":"static", "value": "asset"}, "value": {"type": "static", "value": "asset-id-0"}} ]
Begärandeintervall Varaktighet Strängrepresentation av tiden innan nästa API-anrop. Obligatoriskt 10s 24h
Partitionering Partitionering Partitioneringskonfiguration för källsteget. Obligatoriskt NA Se partitionering

Mer information om hemligheter finns i Hantera hemligheter för distributionen av Azure IoT Operations Preview.

Välj dataformat

I en databehandlingspipeline anger formatfältet i källsteget hur inkommande data ska deserialiseras. Som standard använder raw databehandlingspipelinen formatet som innebär att den inte konverterar inkommande data. Om du vill använda många dataprocessorfunktioner, till exempel Filter eller Enrich faser i en pipeline, måste du deserialisera dina data i indatafasen. Du kan välja att deserialisera inkommande data från JSON, jsonStream, MessagePack, CBOR, CSVeller Protobuf format till ett läsbart meddelande för dataprocessorn för att kunna använda den fullständiga databehandlingsfunktionen.

I följande tabeller beskrivs de olika konfigurationsalternativen för deserialisering:

Fält beskrivning Obligatoriskt Standardvärde Värde
Dataformat Typ av dataformat. Ja Raw Raw JSON jsonStream MessagePack CBOR CSV Protobuf

Fältet Data Format är obligatoriskt och dess värde avgör de andra obligatoriska fälten.

Om du vill deserialisera CSV-meddelanden måste du också ange följande fält:

Fält beskrivning Obligatoriskt Värde Exempel
Sidhuvud Om CSV-data innehåller en rubrikrad. Ja Yes No No
Name Namnet på kolumnen i CSV Ja - temp, asset
Sökväg Jq-sökvägen i meddelandet där kolumninformationen läggs till. Nej - Jq-standardsökvägen är kolumnnamnet
Datatyp Datatypen för data i kolumnen och hur de representeras i databehandlingspipelinen. Nej String, Float, Integer, , , BooleanBytes Standard: String

Om du vill deserialisera Protobuf-meddelanden måste du också ange följande fält:

Fält beskrivning Obligatoriskt Värde Exempel
Deskriptor Den base64-kodade beskrivningen för protobuf-definitionen. Ja - Zhf...
Meddelande Namnet på den meddelandetyp som används för att formatera data. Ja - pipeline
Paket Namnet på paketet i beskrivningen där typen definieras. Ja - schedulerv1

Kommentar

Dataprocessorn stöder endast en meddelandetyp i varje .proto-fil .

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

Källsteget tillämpar partitioneringsuttrycket på det inkommande meddelandet för att beräkna partitionen ID eller Key.

Dataprocessorn lägger till ytterligare 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?.