Creazione di uno schema
Puoi creare uno schema utilizzando le API AWS Glue o la console AWS Glue.
API AWS Glue
È possibile utilizzare questi passaggi per eseguire questa attività utilizzando le API AWS Glue.
Per aggiungere un nuovo schema, utilizza l'API Operazione CreateSchema (Python: create_schema).
Specifica una struttura RegistryId per indicare un registro per lo schema. Oppure, ometti il RegistryId per utilizzare il registro di default.
Specifica un SchemaName composto da lettere, numeri, trattini o trattini bassi e DataFormat come AVRO o JSON. Una volta impostato su uno schema, DataFormat non è modificabile.
Specifica una modalità di Compatibility:
Backward (consigliato): il consumer può leggere sia la versione attuale che quella precedente.
Backward all: il consumer può leggere la versione attuale e tutte quelle precedenti.
Forward: il consumer può leggere sia la versione attuale che quella successiva.
Forward all: il consumer può leggere sia la versione attuale che tutte quelle successive.
Full: combinazione di Backward e Forward.
Full all: combinazione di Backward all e Forward all.
None: non vengono eseguiti controlli di compatibilità.
Disabled: impedisce il controllo delle versioni per questo schema.
Facoltativamente, specifica i Tags per lo schema.
Specifica un valore di SchemaDefinition per definire lo schema in formato dati Avro, JSON o Protobuf. Consulta questi esempi.
Per il formato dati Avro:
aws glue create-schema --registry-id RegistryName="registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
Per il formato dati JSON:
aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
Per il formato dati Protobuf:
aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
Console AWS Glue
Per aggiungere un nuovo schema utilizzando la console AWS Glue:
-
Accedi alla Console di gestione AWS e apri la console AWS Glue all'indirizzo https://console.aws.amazon.com/glue/
. Nel pannello di navigazione, in Data catalog (Catalogo dati), seleziona Schema (Schemi).
Seleziona Aggiungi schema (Aggiungi schema).
Inserisci uno Schema name (Nome schema) composto da lettere, numeri, trattini, trattini bassi, simboli di dollaro o cancelletti. Questo nome non può essere modificato.
Seleziona il registro in cui lo schema verrà archiviato dal menu a discesa. Il registro padre non può essere modificato dopo la creazione.
Lascia Data format (Formato dei dati) come Apache Avro o JSON. Questo formato si applica a tutte le versioni di questo schema.
Scegli una Compatibility mode (Modalità Compatibilità).
Backward (consigliato): il ricevitore può leggere sia la versione attuale che quella precedente.
Backward all: il ricevitore può leggere la versione attuale e tutte quelle precedenti.
Forward: il mittente può scrivere sia la versione attuale che quelle precedenti.
Forward All: il mittente può scrivere sia la versione attuale che tutte quelle precedenti.
Full: combinazione di Backward e Forward.
Full All: combinazione di Backward All e Forward All.
None: non vengono eseguiti controlli di compatibilità.
Disabled: impedisce il controllo delle versioni per questo schema.
Immetti un a Description (Descrizione) facoltativa per il registro con un massimo di 250 caratteri.
Facoltativamente, applica uno o più tag allo schema. Seleziona Add new tag (Aggiungi nuovo tag) e immetti una Tag key (Chiave di tag) e facoltativamente un Tag value (Valore di tag).
Immetti o incolla lo schema iniziale nella casella First schema version (Prima versione dello schema).
Per il formato Avro, consulta Utilizzare il formato di dati Avro
Per il formato JSON, consulta Utilizzare il formato di dati JSON
Facoltativamente, scegli Add metadata (Aggiungi metadata) per aggiungere metadati di versione per annotare o classificare la versione dello schema.
Scegli Create schema and version (Crea schema e versione).
Lo schema viene creato e viene visualizzato nell'elenco sotto Schemas (Schemi).
Utilizzare il formato di dati Avro
Avro fornisce servizi di serializzazione dei dati e scambio di dati. Avro memorizza la definizione dei dati in formato JSON semplificando la lettura e l'interpretazione. I dati stessi sono memorizzati in formato binario.
Per informazioni sulla definizione di uno schema Apache Avro, consulta la specifica di Apache Avro
Utilizzare il formato di dati JSON
I dati possono essere serializzati con il formato JSON. Il formato di schemi JSON