

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à.

# Creazione di uno schema
<a name="schema-registry-gs4"></a>

È possibile creare uno schema utilizzando la AWS Glue APIs o la AWS Glue console. 

**AWS Glue APIs**  
È possibile utilizzare questi passaggi per eseguire questa operazione utilizzando il AWS Glue APIs.

Per aggiungere un nuovo schema, utilizza l'API [CreateSchema azione (Python: create\_schema)](aws-glue-api-schema-registry-api.md#aws-glue-api-schema-registry-api-CreateSchema).

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:

1. Accedi alla console di AWS gestione e apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue\).

1. Nel pannello di navigazione, in **Data catalog (Catalogo dati)**, seleziona **Schema (Schemi)**.

1. Seleziona **Aggiungi schema (Aggiungi schema)**.

1. Inserisci uno **Schema name (Nome schema)** composto da lettere, numeri, trattini, trattini bassi, simboli di dollaro o cancelletti. Questo nome non può essere modificato.

1. Seleziona il **registro** in cui lo schema verrà archiviato dal menu a discesa. Il registro padre non può essere modificato dopo la creazione.

1. Lascia **Data format (Formato dei dati)** come *Apache Avro* o *JSON*. Questo formato si applica a tutte le versioni di questo schema.

1. 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.

1. Immetti un a **Description (Descrizione)** facoltativa per il registro con un massimo di 250 caratteri.  
![Esempio di creazione di uno schema.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/schema_reg_create_schema.png)

1. 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)**.

1. 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](#schema-registry-avro)

   Per il formato JSON, consulta [Utilizzare il formato di dati JSON](#schema-registry-json)

1. Facoltativamente, scegli **Add metadata (Aggiungi metadata)** per aggiungere metadati di versione per annotare o classificare la versione dello schema.

1. Scegli **Create schema and version (Crea schema e versione)**.

![Esempio di creazione di uno schema.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/schema_reg_create_schema2.png)


Lo schema viene creato e viene visualizzato nell'elenco sotto **Schemas (Schemi)**.

## Utilizzare il formato di dati Avro
<a name="schema-registry-avro"></a>

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](http://avro.apache.org/docs/current/spec.html).

## Utilizzare il formato di dati JSON
<a name="schema-registry-json"></a>

I dati possono essere serializzati con il formato JSON. Il [formato di schemi JSON](https://json-schema.org/) definisce lo standard per il formato di schemi JSON.