Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Come funziona il registro degli schemi
Questa sezione descrive come funzionano i processi di serializzazione e deserializzazione nel registro degli schemi.
Registrare uno schema: se lo schema non esiste già nel registro, può essere registrato con un nome uguale al nome della destinazione (ad esempio, test_topic, test_stream, prod_firehose) oppure il produttore può fornire un nome personalizzato per lo schema. I produttori possono anche aggiungere coppie chiave-valore allo schema come metadati, ad esempio source: MSK_Kafka_topic_A, o applicare tag agli schemi durante la creazione dello schema. AWS Una volta registrato uno schema, il registro degli schemi restituisce l'ID della versione dello schema al serializzatore. Se lo schema esiste ma il serializzatore utilizza una nuova versione non esistente, il registro degli schemi controllerà il riferimento allo schema con una regola di compatibilità per garantire che la nuova versione sia compatibile prima di registrarla.
Esistono due metodi per registrare uno schema: registrazione manuale e registrazione automatica. È possibile registrare AWS Glue uno schema manualmente tramite la console o/. CLI SDK
Quando la registrazione automatica è attivata nelle impostazioni del serializzatore, lo schema verrà registrato automaticamente. Se
REGISTRY_NAME
non viene fornito nelle configurazioni del produttore, la registrazione automatica registrerà la nuova versione dello schema nel registro predefinito (default-registry). Consulta Installazione delle SerDe librerie per informazioni su come specificare la proprietà di registrazione automatica.Il serializzatore convalida i record di dati rispetto allo schema: quando l'applicazione che produce i dati ha registrato il proprio schema, il serializzatore del registro degli schemi convalida il record prodotto dall'applicazione, strutturato con i campi e i tipi di dati corrispondenti a uno schema registrato. Se lo schema del record non corrisponde a uno schema registrato, il serializzatore restituirà un'eccezione e l'applicazione non riuscirà a consegnare il record alla destinazione.
Se non esiste uno schema e se il nome dello schema non viene fornito tramite le configurazioni del produttore, lo schema viene creato con lo stesso nome del nome dell'argomento (se Apache Kafka o MSK Amazon) o del nome dello stream (se Kinesis Data Streams).
Ogni record comprende dati e una definizione dello schema. Viene eseguita una query sulla definizione dello schema in base agli schemi e alle versioni esistenti nel registro degli schemi.
Per impostazione predefinita, i produttori memorizzano nella cache le definizioni degli schemi e la versione dello schema degli schemi registrati. IDs Se la definizione della versione dello schema di un record non corrisponde a ciò che è disponibile nella cache, il produttore tenterà di convalidare lo schema con il registro degli schemi. Se la versione dello schema è valida, l'ID della versione e la definizione verranno memorizzati nella cache locale del produttore.
È possibile regolare il periodo di cache di default (24 ore) all'interno delle proprietà del produttore facoltative nel passaggio 3 di Installazione delle SerDe librerie.
Serializza e consegna i record: se il record è conforme allo schema, il serializzatore decora ogni record con l'ID della versione dello schema, serializza il record in base al formato di dati selezionato (AVRO, JSON Protobuf o altri formati disponibili a breve), comprime il record (configurazione opzionale del produttore) e lo consegna alla destinazione.
I consumer deserializzano i dati: i consumer che leggono questi dati utilizzano la libreria del deserializzatore del registro degli schemi che analizza l'ID della versione dello schema dal payload del record.
Il deserializzatore può richiedere lo schema dal registro degli schemi: se il deserializzatore vede i record con un particolare ID della versione dello schema per la prima volta, richiederà lo schema dal registro degli schemi utilizzando questo ID e memorizzerà lo schema nella cache locale del consumer. Se il registro degli schemi non è in grado di deserializzare il record, il consumer può registrare i dati dal record e passare oltre o arrestare l'applicazione.
Il deserializzatore utilizza lo schema per deserializzare il record: quando il deserializzatore recupera l'ID della versione dello schema dal registro degli schemi, decomprime il record (se il record inviato dal produttore è compresso) e utilizza lo schema per deserializzarlo. L'applicazione elabora il record.
Nota
Crittografia: i tuoi client comunicano con lo Schema Registry tramite chiamate che crittografano i dati in transito utilizzando la crittografia over. API TLS HTTPS Gli schemi archiviati nello Schema Registry sono sempre crittografati quando sono inattivi utilizzando una chiave gestita dal servizio () AWS Key Management Service .AWS KMS
Nota
Autorizzazione utente: il registro degli schemi supporta politiche basate sull'identità. IAM