Schemaverwaltung in Stream Connect

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Importieren und erstellen Sie Schemas zum Senden und Empfangen von Nachrichten im AVRO-Format Apache. Die Verwendung eines AVRO-Formats kann die Größe der Nutzlast reduzieren und die Integration in Ihre lokale Kafka-Instanz vereinfachen.

    AVRO ist ein Open-Source-Datenserialisierungssystem, das Schemas zur Strukturierung codierter Daten verwendet. Mit einem AVRO-Schema können Daten von Nur-Text-JSON in ein AVRO-Binärformat und zurück konvertiert werden. Sie können Schemas in ServiceNowspeichern, damit Ihre Stream Connect-Ersteller und -Verbraucher die Schemas zum Serialisieren von AVRO-Nachrichten verwenden können.

    Die folgende Abbildung zeigt eine Übersicht über die Schemaverwaltung in Stream Connect. Schemas, die in Schemaregistrierungen gespeichert sind, ermöglichen die Konvertierung von Nachrichten in Erstellern und Verbrauchern von Nur-Text in ein AVRO-Format und zurück.

    Diagramm, das zeigt, wie Stream Connect in den Schemaregistrierungen gespeicherte Schemas verwendet, um Kafka-Nachrichten in andere Formate zu konvertieren.

    Schemen

    Sie können ein Schema aus der Confluent-Registrierung importieren oder ein eigenes eigenständiges Schema erstellen, indem Sie eine JSON-Datei hochladen oder ein Schema direkt als JSON-formatierte Zeichenfolge eingeben.

    Nachdem Ihr Schema importiert oder erstellt wurde, wird es in der Tabelle „Stream Connect-Schemas“ [stream_connect_schema] angezeigt, in der sowohl Confluent- als auch eigenständige Schemas gespeichert werden. Darüber hinaus sind Confluent-Schemata in der Tabelle „Confluent Stream Connect-Schema“ [confluent_stream_connect_schema] sichtbar. Eigenständige Schemas befinden sich in der Tabelle „Eigenständiges Stream-Connect-Schema“ [standalone_stream_connect_schema].

    Alle Schemas haben eine Schema-ID, einen global eindeutigen Bezeichner des Schemas. Bei Confluent-Schemata wird die Schema-ID aus der Confluent-Registrierung importiert. Bei eigenständigen Schemas wird die Schema-ID lokal generiert und ist für die Instanz eindeutig. Standardmäßig ist der generierte Schema-ID-Wert die nächsthöhere verfügbare Schema-ID in der Instanz. Wenn Ihre Schemas beispielsweise die ID-Nummern eins bis fünf haben, hat das nächste von Ihnen erstellte Schema eine Schema-ID von sechs. Sie können den Standardwert ändern.

    Schema-IDs sind pro Registrierung eindeutig. Beispielsweise können zwei Schemas die ID 1 haben, solange sie sich in unterschiedlichen Registrierungen befinden.

    Schemaregistrierungen

    Jedes Schema gehört zu einer Registry. Es gibt zwei Arten von Schemaregistrierungen in ServiceNow: die Confluent Schema Registry und die Standalone Schema Registry.

    Beide Schemaregistrierungen bieten im Update Set die Option Nachverfolgen. Wenn diese Option aktiviert ist, werden die Schemata in dieser Registrierung im Update Set gespeichert. Durch Speichern der Schemas im Update Set können Sie sie zwischen Umgebungen verschieben. Standardmäßig ist diese Option für die Confluent Schema Registry deaktiviert, da sich Schema-IDs je nach Umgebung ändern können. Diese Option ist für die eigenständige Schemaregistrierung aktiviert, da bei der manuellen Erstellung von Schemas die Schema-ID weniger wahrscheinlich von einer Umgebung in eine andere geändert wird. Um die Standardeinstellung für eine der Registrierungen zu ändern, navigieren Sie zu Alle > IntegrationHub > Schemaregistrierungen, wählen Sie die Registrierung aus, und ändern Sie die Option Nachverfolgung im Update-Satz.

    Nachrichtenformat auf Draht-Ebene

    Aus Gründen der Interoperabilität verwendet ServiceNow ein Nachrichtenformat auf Drahtebene, das dem Format anderer Systeme ähnelt. Das erste Byte wird auf 0 festgelegt. Die nächsten 4 Byte werden für die Schema-ID verwendet. Die verbleibenden Byte werden für die Daten verwendet, die im AVRO-Format serialisiert sind.
    Byte 0 Magisches Byte.
    Byte 1–4 Schema-ID
    Verbleibende Byte Daten, serialisiert im AVRO-Format.

    Produzenten und Verbraucher

    Stream Connect-Ersteller und -Verbraucher können für die Verwendung eines AVRO-Formats konfiguriert werden.

    Geben Sie beim Konfigurieren eines Erstellers einfach an, welches Schema Sie verwenden möchten. Wenn Sie dann den Ersteller ausführen, wird die Nutzlast der Nachricht in JSON generiert und unter Verwendung des angegebenen Schemas automatisch in ein AVRO-Format konvertiert. Weitere Informationen zu Erstellern finden Sie in der Kafka Producer step oder in der BuilderV2-API.

    Das Konfigurieren eines Verbrauchers erfolgt ähnlich. Geben Sie das Serialisierungsformat als Codiert an, und wählen Sie eine Schemaregistrierung aus. Wenn der Verbraucher eine Nachricht im AVRO-Format erhält, wird sie gemäß dem Schema für die in der Nachricht empfangene Schema-ID automatisch in ein JSON-Format konvertiert. Weitere Informationen finden Sie unter Kafka-Nachrichtenauslöser oder ETL-, Transformationszuordnungs-oder Skript- Verbraucher.

    Plugin

    Für die Schemaverwaltungsfunktionen ist das Plugin ServiceNow Stream Connect Installer [com.glide.hub.stream_connect.installer] erforderlich.