Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
So funktioniert die Schemaregistrierung
In diesem Abschnitt wird beschrieben, wie die Serialisierungs- und Deserialisierungsprozesse in der Schemaregistrierung funktionieren.
Registrieren eines Schemas: Wenn das Schema noch nicht in der Registrierung vorhanden ist, kann das Schema mit einem Schemanamen registriert werden, der dem Namen des Ziels entspricht (z. B. test_topic, test_stream, prod_firehose) oder der Produzent kann einen benutzerdefinierten Namen für das Schema angeben. Produzenten können dem Schema auch Schlüssel-Wert-Paare als Metadaten hinzufügen, z. B. Quelle: MSK_Kafka_Topic_A, oder bei der Schemaerstellung Tags auf Schemas anwenden. AWS Sobald ein Schema registriert ist, gibt Schema Registry die Schemaversions-ID an den Serializer zurück. Wenn das Schema vorhanden ist, aber der Serializer eine neue Version verwendet, die nicht existiert, überprüft Schema Registry die Schemareferenz, eine Kompatibilitätsregel, um sicherzustellen, dass die neue Version kompatibel ist, bevor sie als neue Version registriert wird.
Es gibt zwei Methoden zum Registrieren eines Schemas: manuelle Registrierung und automatische Registrierung. Sie können ein Schema manuell über die Konsole oder/registrieren. AWS Glue CLI SDK
Wenn die automatische Registrierung in den Einstellungen des Serializers aktiviert ist, wird die automatische Registrierung des Schemas durchgeführt. Wenn
REGISTRY_NAME
nicht in den Konfigurationen des Produzenten bereitgestellt wird, registriert die automatische Registrierung die neue Schemaversion in der Standardregistrierung (Default-Registry). Siehe SerDe Bibliotheken installieren für Informationen zur Angabe der Eigenschaft für die automatische Registrierung.Der Serializer validiert Datensätze anhand des Schemas: Wenn die Anwendung, die Daten erzeugt, ihr Schema registriert hat, überprüft der Serializer der Schema Registry, ob der Datensatz, der von der Anwendung erstellt wird, mit den Feldern und Datentypen strukturiert ist, die einem registrierten Schema entsprechen. Wenn das Schema des Datensatzes nicht mit einem registrierten Schema übereinstimmt, gibt der Serializer eine Ausnahme zurück und die Anwendung kann den Datensatz nicht an das Ziel liefern.
Wenn kein Schema vorhanden ist und der Schemaname nicht über die Producer-Konfigurationen bereitgestellt wird, wird das Schema mit demselben Namen wie der Themenname (bei Apache Kafka oder AmazonMSK) oder der Stream-Name (bei Kinesis Data Streams) erstellt.
Jeder Datensatz hat eine Schemadefinition und Daten. Die Schemadefinition wird anhand der vorhandenen Schemata und Versionen in der Schema Registry abgefragt.
Standardmäßig speichern die Produzenten Schemadefinitionen und die Schemaversion IDs registrierter Schemas im Cache. Wenn die Schemaversionsdefinition eines Datensatzes nicht mit dem übereinstimmt, was im Cache verfügbar ist, versucht der Produzent, das Schema mit der Schema Registry zu validieren. Wenn die Schemaversion gültig ist, werden ihre Versions-ID und Definition lokal beim Produzenten zwischengespeichert.
Sie können den Standard-Cache-Zeitraum (24 Stunden) in den optionalen Producer-Eigenschaften in Schritt 3 von SerDe Bibliotheken installieren anpassen.
Datensätze serialisieren und ausliefern: Wenn der Datensatz dem Schema entspricht, schmückt der Serializer jeden Datensatz mit der Schemaversions-ID, serialisiert den Datensatz auf der Grundlage des ausgewählten Datenformats (AVRO,JSON, Protobuf oder andere Formate in Kürze), komprimiert den Datensatz (optionale Producer-Konfiguration) und übermittelt ihn an das Ziel.
Verbraucher deserialisieren die Daten: Verbraucher, die diese Daten lesen, verwenden die Deserializer-Bibliothek der Schema Registry, die die Schemaversions-ID aus der Datensatznutzlast analysiert.
Der Deserializer kann das Schema von der Schema Registry anfordern: Wenn dies das erste Mal ist, dass der Deserializer Datensätze mit einer bestimmten Schemaversions-ID sieht, fordert der Deserializer das Schema unter Verwendung der Schemaversions-ID von der Schema-Registry an und speichert das Schema lokal auf dem Verbraucher zwischen. Wenn die Schema Registry den Datensatz nicht deserialisieren kann, kann der Verbraucher die Daten aus dem Datensatz protokollieren und fortfahren oder die Anwendung anhalten.
Der Deserializer verwendet das Schema, um den Datensatz zu deserialisieren: Wenn der Deserializer die Schemaversions-ID aus der Schema Registry abruft, dekomprimiert der Deserializer den Datensatz (wenn der vom Produzent gesendete Datensatz komprimiert wird) und verwendet das Schema, um den Datensatz zu deserialisieren. Dann verarbeitet die Anwendung den Datensatz.
Anmerkung
Verschlüsselung: Ihre Clients kommunizieren mit der Schema Registry über Aufrufe, bei denen Daten während der Übertragung mithilfe API von Encrypover verschlüsselt werden. TLS HTTPS In der Schemaregistry gespeicherte Schemas werden im Ruhezustand immer mit einem vom Dienst verwalteten AWS Key Management Service Schlüssel () verschlüsselt.AWS KMS
Anmerkung
Benutzerautorisierung: Die Schemaregistry unterstützt IAM identitätsbasierte Richtlinien.