Anropa en gRPC-slutpunkt från 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.
Använd gRPC-fasen för att anropa en extern gRPC med en valfri begärandetext och få ett valfritt svar. Med anropssteget kan du införliva anpassad databearbetningslogik, till exempel att köra maskininlärningsmodeller, i pipelinebearbetningen.
- Varje partition i en pipeline kör API-anropen parallellt.
- API-anrop är synkrona, fasen väntar på att anropet ska returneras innan du fortsätter med ytterligare pipelinebearbetning.
- För närvarande stöder fasen endast Unary RPC-typen.
- gRPC-pratbubblor kan bara användas med Protobuf-formatet . Du måste använda Protobuf med gRPC-anropssteget.
Förutsättningar
För att konfigurera och använda en gRPC cal lout pipeline-fas behöver du:
- En distribuerad instans av Azure IoT Data Processor Preview som innehåller den valfria dataprocessorkomponenten.
- En gRPC-server som är tillgänglig från dataprocessorinstansen.
- Verktyget
protoc
för att generera beskrivningen.
Konfigurera en gRPC-anropsfas
JSON-konfigurationen för gRPC-anropssteget definierar detaljerna i fasen. Om du vill skapa fasen kan du antingen interagera med det formulärbaserade användargränssnittet eller ange JSON-konfigurationen på fliken Avancerat .
Namn | Type | Beskrivning | Obligatoriskt | Standardvärde | Exempel |
---|---|---|---|---|---|
Name | sträng | Ett namn som ska visas i användargränssnittet för dataprocessorn. | Ja | - | MLCall2 |
beskrivning | sträng | En användarvänlig beskrivning av vad fasen i anropet gör. | Nej | Call ML endpoint 2 |
|
Server address | sträng | GRPC-serveradressen. | Ja | - | https://localhost:1313 |
RPC-namn | sträng | RPC-namnet som ska anropas | Ja | - | GetInsights |
Beskrivning 1 | sträng | Den grundläggande 64-kodade beskrivningen. | Ja | - | CuIFChxnb29nb |
Autentisering | sträng | Den autentiseringstyp som ska användas. None /Metadata . |
Ja | None |
None |
Metadatanyckel | sträng | Metadatanyckeln som ska användas när Authentication är inställd på Metadata . |
Nej | authorization |
authorization |
Hemlig | sträng | Den hemliga referens som ska användas när Authentication är inställd på Metadata . |
Nej | - | mysecret |
Aktivera TLS | boolean | Om TLS ska aktiveras. Dataprocessorn stöder för närvarande TLS-baserad autentisering med offentligt certifikat. | Nej | false |
true |
Sökväg för API-begärandetext > | Sökväg | Sökvägen till den del av dataprocessormeddelandet som ska serialiseras och anges som begärandetext. Lämna tomt om du inte behöver skicka en begärandetext. | Nej | - | .payload.gRPCRequest |
API-begärandemetadatanyckel > >2 | Statiskt/dynamiskt fält | Metadatanyckeln som ska anges i begäran. | Nej | Statiskt/dynamiskt fält | |
API-begärandemetadatavärde > >2 | Statiskt/dynamiskt fält | Metadatavärdet som ska anges i begäran. | Nej | Statiskt/dynamiskt fält | |
Sökväg för API-svarstext > | Sökväg | Sökvägen till egenskapen i det utgående meddelandet för att lagra svaret i. Lämna tomt om du inte behöver svarstexten. | Nej | - | .payload.gRPCResponse |
API-svarsmetadata > | Sökväg | Sökvägen till egenskapen i det utgående meddelandet för att lagra svarsmetadata i. Lämna tomt om du inte behöver svarsmetadata. | Nej | - | .payload.gRPCResponseHeader |
API-svarsstatus > | Sökväg | Sökvägen till egenskapen i det utgående meddelandet för att lagra svarsstatusen i. Lämna tomt om du inte behöver svarsstatusen. | Nej | - | .payload.gRPCResponseStatus |
1Beskrivning: Eftersom gRPC-anropssteget endast stöder protobuf-formatet använder du samma formatdefinitioner för både begäran och svar. För att serialisera begärandetexten och deserialisera svarstexten behöver du en grundläggande 64-kodad beskrivning av .proto-filen.
Använd följande kommando för att generera beskrivningen och ersätt <proto-file>
med namnet på .proto-filen:
protoc --descriptor_set_out=/dev/stdout --include_imports <proto-file> | base64 | tr '\n' ' ' | sed 's/[[:space:]]//g'
Använd utdata från föregående kommando som descriptor
i konfigurationen.
2API-begärandemetadata>: Varje element i metadatamatrisen är ett nyckelvärdepar. Du kan ange nyckeln eller värdet dynamiskt baserat på innehållet i det inkommande meddelandet eller som en statisk sträng.
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för