Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Stream Analytics prend en charge le traitement des événements dans les formats de données de tampon de protocole (Protobuf). Vous pouvez utiliser le désérialiseur Protobuf intégré pour configurer vos entrées. Pour utiliser le désérialiseur intégré, spécifiez le fichier de définition Protobuf et le style de préfixe.
Remarque
Azure Stream Analytics ne prend pas en charge le registre de schémas pour les formats de données de tampon de protocole (Protobuf).
Étapes de configuration d’un travail Stream Analytics
Pour configurer votre travail Stream Analytics afin de désérialiser des événements dans Protobuf :
Une fois créé votre travail Stream Analytics, sélectionnez Entrées.
Sélectionnez Ajouter une entrée et sélectionnez l’entrée que à configurer pour ouvrir le panneau de configuration d’entrée.
Sélectionnez le format de sérialisation des événements pour afficher une liste déroulante, puis sélectionnez Protobuf.
Terminez la configuration en utilisant les instructions suivantes :
Nom de la propriété Description Fichier de définition Protobuf Fichier qui spécifie la structure et les types de données de vos événements Protobuf Type de message Type de message que vous souhaitez désérialiser Style de préfixe Paramètre qui détermine la longueur d’un message afin de désérialiser correctement les événements Protobuf
Pour en savoir plus sur les types de données Protobuf, consultez la documentation officielle des tampons de protocole.
Limites
Le désérialiseur Protobuf prend un seul fichier de définition Protobuf à la fois. Les importations dans des fichiers de définition Protobuf personnalisés ne sont pas prises en charge. Par exemple :
Ce fichier de définition Protobuf référence un autre fichier de définition Protobuf dans ses importations. Comme le désérialiseur Protobuf a seulement le fichier de définition Protobuf actuel et ne sait pas ce qu’est carseat.proto, il ne peut pas désérialiser correctement.
Quand un fichier de définition Protobuf contient un espace de noms ou un package, le type de message doit l’inclure. Par exemple :
Dans le désérialiseur Protobuf du portail, le type de message doit être
Namespacetest.Volunteer
au lieu duVolunteer
habituel.Si le package ou l’espace de noms d’origine est en majuscules ou en minuscules, le type de message doit l’inclure avec le premier caractère du package ou de l’espace de noms en majuscule. Par exemple, si l’espace de noms est
nameSpaceTest
, utiliseznameSpaceTest.Volunteer
. Cette règle s’applique à un type de message sans espace de noms ou package.Vous devez spécifier votre message dans votre fichier de définition protobuf sans le mot clé
Optional
. Dans Proto 3, tous les champs sont facultatifs. Par exemple :Ce fichier de définition Protobuf affiche un message qui a le mot clé
Optional
. Pour désérialiser correctement, vous devez supprimer le mot clé :Pendant l’envoi de messages sérialisés avec
google.protobuf
, le type de préfixe doit être défini surbase128
, car c’est le type le plus compatible.Les messages de service ne sont pas pris en charge dans les désérialiseurs Protobuf. Votre travail lève une exception si vous tentez d’utiliser un message de service. Par exemple :
Certains types de données ne sont pas pris en charge :
Any
-
One of
(lié aux énumérations) Durations
Struct
-
Field Mask
(non pris en charge par protobuf-net) List Value
Value
Null Value
Empty
Remarque
Pour obtenir de l’aide directe sur l’utilisation du désérialiseur Protobuf, envoyez un e-mail à askasa@microsoft.com.