Appeler un point de terminaison gRPC depuis un pipeline Processeur de données Azure IoT (préversion)
Important
Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.
Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Utilisez l’index d’appel gRPC pour appeler un gRPC externe avec un corps de requête facultatif et recevoir une réponse facultative. L’index d’appel vous permet d’incorporer une logique de traitement des données personnalisée, telle que l’exécution de modèles Machine Learning, dans le traitement du pipeline.
- Chaque partition d’un pipeline exécute indépendamment les appels d’API en parallèle.
- Les appels d’API sont synchrones, l’index attend le retour de l’appel avant de poursuivre le traitement du pipeline.
- Actuellement, l’index prend uniquement en charge le type RPC unaire.
- L’appel gRPC ne peut être utilisé qu’avec le format Protobuf. Vous devez utiliser le Protobuf avec l’index d’appel gRPC.
Prérequis
Pour configurer et utiliser un index de pipeline d’appel gRPC, vous avez besoin des éléments suivants :
- Une instance déployée d’Azure IoT Data Processor (préversion) qui inclut le composant Data Processor facultatif.
- Un serveur gRPC accessible à partir de l’instance du processeur de données.
- L’outil
protoc
permettant de générer le descripteur.
Configurer un index d’appel gRPC
La configuration JSON de l’index d’appel gRPC définit les détails de l’index. Pour créer l’index, vous pouvez interagir avec l’interface utilisateur basée sur le formulaire ou fournir la configuration JSON sous l’onglet Avancé.
Nom | Type | Description | Obligatoire | Par défaut | Exemple |
---|---|---|---|---|---|
Nom | chaîne | Nom à afficher dans l’interface utilisateur du processeur de données. | Oui | - | MLCall2 |
Description | string | Une description conviviale de ce que fait l’index d’appel. | Non | Call ML endpoint 2 |
|
Server address | string | L’adresse du serveur gRPC. | Oui | - | https://localhost:1313 |
Nom RPC | string | Nom RPC à appeler | Oui | - | GetInsights |
Descripteur1 | string | Descripteur codé en base 64. | Oui | - | CuIFChxnb29nb |
Authentification | string | Type d’authentification à utiliser. None /Metadata . |
Oui | None |
None |
Clé de métadonnées | string | Clé de métadonnées à utiliser lorsque Authentication est défini sur Metadata . |
Non | authorization |
authorization |
Secret | string | La référence secrète à utiliser lorsque Authentication est défini sur Metadata . |
Non | - | mysecret |
Activer TLS | boolean | Activation ou non de TLS. Le processeur de données prend actuellement en charge l’authentification basée sur TLS avec un certificat public. | Non | false |
true |
Requête API > Chemin du corps | Chemin d’accès | Chemin d’accès à la partie du message du processeur de données qui doit être sérialisé et défini comme corps de la requête. Laissez vide si vous n’avez pas besoin d’envoyer un corps de la demande. | Non | - | .payload.gRPCRequest |
Requête API > Métadonnées > Clé2 | Champ statique/dynamique | Clé de métadonnées à définir dans la requête. | Non | Champ statique/dynamique | |
Requête API > Métadonnées > Valeur2 | Champ statique/dynamique | Valeur des métadonnées à définir dans la requête. | Non | Champ statique/dynamique | |
Réponse API > Chemin du corps | Chemin d’accès | Le chemin d’accès à la propriété dans le message sortant dans lequel stocker la réponse. Laissez vide si vous n’avez pas besoin du corps de la réponse. | Non | - | .payload.gRPCResponse |
Réponse API > Métadonnées | Chemin d’accès | Le chemin d’accès à la propriété dans le message sortant dans lequel stocker les métadonnées de la réponse. Laissez vide si vous n’avez pas besoin des métadonnées de la réponse. | Non | - | .payload.gRPCResponseHeader |
Réponse API > État | Chemin d’accès | Le chemin d’accès à la propriété dans le message sortant dans lequel stocker l’état de la réponse. Laissez vide si vous n’avez pas besoin de l’état de la réponse. | Non | - | .payload.gRPCResponseStatus |
1Descripteur : étant donné que l’index d’appel gRPC prend uniquement en charge le format protobuf, vous utilisez les mêmes définitions de format pour la demande et la réponse. Pour sérialiser le corps de la requête et désérialiser le corps de la réponse, vous avez besoin d’un descripteur codé en base 64 du fichier .proto.
Utilisez la commande suivante pour générer le descripteur, remplacez <proto-file>
par le nom de votre fichier .proto :
protoc --descriptor_set_out=/dev/stdout --include_imports <proto-file> | base64 | tr '\n' ' ' | sed 's/[[:space:]]//g'
Utilisez la sortie de la commande précédente comme descriptor
dans la configuration.
2Requête API > Métadonnées : chaque élément du tableau de métadonnées est une paire clé-valeur. Vous pouvez définir dynamiquement la clé ou la valeur en fonction du contenu du message entrant ou sous forme de chaîne statique.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour