Gestion des schémas dans Stream Connect

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • Importez et créez des schémas pour envoyer et recevoir des messages au Apache format Avro. L’utilisation d’un format Avro peut réduire la taille de la charge utile et simplifier votre intégration à votre instance Kafka locale.

    Avro est un système de sérialisation de données open source qui utilise des schémas pour structurer les données encodées. Avec un schéma Avro, les données peuvent être converties d’un JSON en texte brut à un format binaire Avro et inversement. Vous pouvez stocker des schémas dans ServiceNow, afin que vos producteurs et consommateurs de Stream Connect puissent utiliser les schémas pour sérialiser les messages Avro.

    L’image suivante montre une vue d’ensemble de la gestion des schémas dans Stream Connect. Les schémas, stockés dans les registres de schémas, permettent de convertir les messages des producteurs et des consommateurs du texte brut au format Avro et vice-versa.

    Diagramme montrant comment Stream Connect utilise les schémas stockés dans les registres de schémas pour convertir les messages Kafka dans différents formats.

    Schémas

    Vous pouvez importer un schéma à partir du registre Confluent ou créer votre propre schéma autonome en chargeant un fichier JSON ou en saisissant un schéma directement sous forme de chaîne au format JSON.

    Une fois votre schéma importé ou créé, vous pouvez le voir sur la table Schémas de connexion au flux [stream_connect_schema], qui stocke à la fois les schémas Confluent et autonomes. De plus, les schémas Confluent sont visibles sur la table Schéma de connexion au flux Confluent [confluent_stream_connect_schema]. Les schémas autonomes se trouvent dans la table Schéma de connexion au flux autonome [standalone_stream_connect_schema].

    Tous les schémas ont un ID de schéma, un identificateur unique global du schéma. Pour les schémas Confluent, l’ID de schéma est importé à partir du registre Confluent. Pour les schémas autonomes, l’ID de schéma est généré localement et est unique sur l’instance. Par défaut, la valeur de l’ID de schéma généré est l’ID de schéma le plus élevé disponible suivant sur l’instance. Par exemple, si vos schémas ont les numéros d’ID un à cinq, le schéma suivant que vous créez aura un ID de schéma de six. Vous pouvez modifier la valeur par défaut.

    Les ID de schéma sont uniques pour chaque registre. Par exemple, deux schémas peuvent tous deux avoir un ID d’un tant qu’ils se trouvent dans des registres différents.

    Registres de schémas

    Chaque schéma appartient à un registre. Il existe deux types de registres de schémas : ServiceNowle registre de schémas Confluent et le registre de schémas autonome.

    Les deux registres de schémas disposent d’une option à suivre dans l’ensemble de mises à jour. Lorsque cette option est activée, les schémas de ce registre sont enregistrés dans l’ensemble de mises à jour. L’enregistrement des schémas dans l’ensemble de mises à jour permet de les déplacer d’un environnement à l’autre. Par défaut, cette option est désactivée pour le registre de schémas Confluent, car les ID de schéma peuvent changer d’un environnement à l’autre. Cette option est activée pour le registre de schémas autonome, car si vous créez des schémas manuellement, l’ID de schéma est moins susceptible de changer d’un environnement à l’autre. Pour modifier les paramètres par défaut de l’un ou l’autre registre, accédez à Tout > Centre d'intégration > Registres de schémas, sélectionnez le registre et modifiez l’option Suivre dans l’ensemble de mises à jour .

    Format de message au niveau du virement

    Pour l’interopérabilité, ServiceNow utilise un format de message au niveau filaire similaire à ceux utilisés par d’autres systèmes. Le premier octet est défini sur 0. Les 4 octets suivants sont utilisés pour l’ID de schéma. Les octets restants sont utilisés pour les données, sérialisées au format Avro.
    Octet 0 Octet magique.
    Octet 1 à 4 ID de schéma.
    Octets restants Données, sérialisées au format Avro.

    Producteurs et consommateurs

    Les producteurs et les consommateurs de Stream Connect peuvent être configurés pour utiliser un format Avro.

    Lors de la configuration d’un producteur, il vous suffit de spécifier le schéma que vous souhaitez utiliser. Ensuite, lorsque vous exécutez le producteur, la charge utile du message est générée en JSON et automatiquement convertie au format Avro à l’aide du schéma spécifié. Pour plus d’informations sur les producteurs, consultez le Kafka Producer step ou l’API ProducerV2.

    La configuration d’un consommateur est similaire. Spécifiez le format de sérialisation comme Codé et sélectionnez un registre de schémas. Lorsque le consommateur reçoit un message au format Avro, il est automatiquement converti en JSON en fonction du schéma de l’ID de schéma reçu dans le message. Pour plus d’informations, consultez le déclencheur de message Kafka ou les consommateurs ETL,Carte de transformation ou Script .

    Module d'extension

    Les fonctionnalités de gestion des schémas nécessitent le module d’extension ServiceNow Stream Connect Installer [com.glide.hub.stream_connect.installer].