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/Password eller 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
, CSV
eller 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:
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:
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?.