

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 di eventi in Amazon EventBridge
<a name="eb-schema-create"></a>

[È possibile creare schemi utilizzando file JSON con la specifica [OpenAPI o la specifica](https://swagger.io/specification/) Draft4. JSONSchema ](https://json-schema.org/specification-links.html#draft-4) [È possibile creare o caricare schemi personalizzati utilizzando un modello o EventBridge generando uno schema basato sul codice JSON di un evento.](eb-events.md) Puoi anche dedurre lo schema da eventi in [router di eventi](eb-event-bus.md). Per creare uno schema utilizzando l'API EventBridge Schema Registry, utilizza l'azione [https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-registries-name-registryname-schemas-name-schemaname.html#v1-registries-nam](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-registries-name-registryname-schemas-name-schemaname.html#v1-registries-nam)API.

Quando scegli tra i formati OpenAPI 3 e JSONSchema Draft4, considera le seguenti differenze:
+ JSONSchema il formato supporta parole chiave aggiuntive che non sono supportate in OpenAPI, ad esempio. `$schema, additionalItems`
+ Esistono piccole differenze nel modo in cui vengono gestite le parole chiave, ad esempio `type` e `format`.
+ OpenAPI non supporta i JSONSchema collegamenti ipertestuali Hyper-Schema nei documenti JSON.
+ Gli strumenti per OpenAPI tendono a concentrarsi sulla fase di compilazione, mentre gli strumenti per OpenAPI JSONSchema tendono a concentrarsi sulle operazioni in fase di esecuzione, come gli strumenti client per la convalida dello schema.

Si consiglia di utilizzare il JSONSchema formato per implementare la convalida lato client in modo che gli eventi inviati siano conformi allo schema. EventBridge È possibile utilizzare JSONSchema per definire un contratto per documenti JSON validi e quindi utilizzare un [validatore di schemi JSON](https://json-schema.org/tools) prima di inviare gli eventi associati.

Dopo aver creato un nuovo schema, puoi scaricare le [associazioni di codice](eb-schema-code-bindings.md) utili per creare applicazioni per eventi con quello schema.

# Creazione di uno schema utilizzando un modello in Amazon EventBridge
<a name="eb-schema-template"></a>

È possibile creare uno schema da un file modello scaricato o modificando un modello direttamente nella EventBridge console. 

## Crea uno schema da un file modello
<a name="eb-schema-template-file"></a>

Per scaricare il modello, devi scaricarlo dalla console. Modifica il modello in modo che lo schema corrisponda agli eventi. Quindi carica il nuovo modello tramite la console.

**Per scaricare il modello di schema**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di spostamento, seleziona **Schema registry (Registro degli schemi)**.

1. Nella sezione **Getting started (Nozioni di base)** in **Schema template (Modello schema)**, scegli **Download (Scarica)**.

In alternativa, puoi copiare il modello JSON dall'esempio di codice seguente.

```
{
    "openapi": "3.0.0",
    "info": {
      "version": "1.0.0",
      "title": "Event"
    },
    "paths": {},
    "components": {
      "schemas": {
        "Event": {
          "type": "object",
          "properties": {
            "ordinal": {
              "type": "number",
              "format": "int64"
            },
            "name": {
              "type": "string"
            },
            "price": {
              "type": "number",
              "format": "double"
            },
            "address": {
              "type": "string"
            },
            "comments": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "created_at": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      }
    }
  }
```

**Per caricare un modello di schema**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di navigazione, scegli **Schemi** quindi scegli **Crea schema**.

1. (Facoltativo) Seleziona o crea un registro di schemi.

1. In **Dettagli dello schema**, immetti un nome per lo schema.

1. (Facoltativo) Immetti una descrizione per lo schema.

1. In **Tipo di schema**, scegli **OpenAPI 3.0** o **JSON Schema Draft 4**.

1. Nella scheda **Crea**, nella casella di testo, trascina il file dello schema nella casella di testo oppure incolla l'origine dello schema.

1. Seleziona **Crea**.

## Modifica di un modello di schema direttamente nella console
<a name="eb-schema-template-console"></a>

È possibile creare uno schema direttamente nella EventBridge console.

**Per modificare uno schema nella console**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di navigazione, scegli **Schemi** quindi scegli **Crea schema**.

1. (Facoltativo) Seleziona o crea un registro di schemi.

1. In **Dettagli dello schema**, immetti un nome per lo schema.

1. In **Tipo di schema**, scegli **OpenAPI 3.0** o **JSON Schema Draft 4**.

1. (Facoltativo) Puoi immettere una descrizione per lo schema da creare.

1. Nella scheda **Crea**, scegli **Carica modello**.

1. Nella casella di testo, modifica il modello in modo che lo schema corrisponda ai tuoi [eventi](eb-events.md). 

1. Seleziona **Crea**.

# Creazione di uno schema dall'evento JSON in Amazon EventBridge
<a name="eb-schemas-infer-from-json"></a>

Se disponi del JSON di un evento, puoi creare automaticamente uno schema per quel tipo di evento.

**Per creare uno schema basato sul JSON di un evento**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di navigazione, scegli **Schemi** quindi scegli **Crea schema**.

1. (Facoltativo) Seleziona o crea un registro di schemi.

1. In **Schema details (Dettagli schema)** inserisci un nome per lo schema.

1. (Facoltativo) Puoi immettere una descrizione per lo schema creato.

1. In **Tipo di schema**, scegli **OpenAPI 3.0**.

   Non puoi utilizzarlo JSONSchema quando crei uno schema dal codice JSON di un evento.

1. Seleziona **Discover from JSON (Individua da JSON)**

1. Nella casella di testo in **JSON**, incolla o trascina l'origine JSON di un evento.

   Ad esempio, è possibile incollare il codice sorgente di questo AWS Step Functions evento per un'esecuzione non riuscita.

   ```
   {
       "version": "0",
       "id": "315c1398-40ff-a850-213b-158f73e60175",
       "detail-type": "Step Functions Execution Status Change",
       "source": "aws.states",
       "account": "012345678912",
       "time": "2019-02-26T19:42:21Z",
       "region": "us-east-1",
       "resources": [
         "arn:aws:states:us-east-1:012345678912:execution:state-machine-name:execution-name"
       ],
       "detail": {
           "executionArn": "arn:aws:states:us-east-1:012345678912:execution:state-machine-name:execution-name",
           "stateMachineArn": "arn:aws:states:us-east-1:012345678912:stateMachine:state-machine",
           "name": "execution-name",
           "status": "FAILED",
           "startDate": 1551225146847,
           "stopDate": 1551225151881,
           "input": "{}",
           "output": null
       }
   }
   ```

1. Scegli **Individua schema**.

1. EventBridge genera uno schema OpenAPI per l'evento. Ad esempio, lo schema seguente viene generato per l'evento Step Functions precedente.

   ```
   {
     "openapi": "3.0.0",
     "info": {
       "version": "1.0.0",
       "title": "StepFunctionsExecutionStatusChange"
     },
     "paths": {},
     "components": {
       "schemas": {
         "AWSEvent": {
           "type": "object",
           "required": ["detail-type", "resources", "detail", "id", "source", "time", "region", "version", "account"],
           "x-amazon-events-detail-type": "Step Functions Execution Status Change",
           "x-amazon-events-source": "aws.states",
           "properties": {
             "detail": {
               "$ref": "#/components/schemas/StepFunctionsExecutionStatusChange"
             },
             "account": {
               "type": "string"
             },
             "detail-type": {
               "type": "string"
             },
             "id": {
               "type": "string"
             },
             "region": {
               "type": "string"
             },
             "resources": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
             "source": {
               "type": "string"
             },
             "time": {
               "type": "string",
               "format": "date-time"
             },
             "version": {
               "type": "string"
             }
           }
         },
         "StepFunctionsExecutionStatusChange": {
           "type": "object",
           "required": ["output", "input", "executionArn", "name", "stateMachineArn", "startDate", "stopDate", "status"],
           "properties": {
             "executionArn": {
               "type": "string"
             },
             "input": {
               "type": "string"
             },
             "name": {
               "type": "string"
             },
             "output": {},
             "startDate": {
               "type": "integer",
               "format": "int64"
             },
             "stateMachineArn": {
               "type": "string"
             },
             "status": {
               "type": "string"
             },
             "stopDate": {
               "type": "integer",
               "format": "int64"
             }
           }
         }
       }
     }
   }
   ```

1. Una volta generato lo schema, scegli **Crea**.

# Deduzione di schemi dagli eventi del bus degli eventi in EventBridge
<a name="eb-schemas-infer"></a>

Amazon EventBridge può dedurre schemi scoprendo gli eventi. Per dedurre gli schemi, si attiva l'individuazione degli eventi in un router di eventi e ogni schema univoco viene aggiunto al registro di schemi, compresi quelli per eventi multi-account. **Gli schemi scoperti da EventBridge vengono visualizzati nel **registro Discovered schemas nella pagina Schemas**.**

Se il contenuto degli eventi sul bus degli eventi cambia, EventBridge crea nuove versioni dello schema correlato. EventBridge 

## Considerazioni sull'avvio del rilevamento dello schema su un bus di eventi
<a name="eb-schemas-infer-considerations"></a>

Tenete conto delle seguenti considerazioni prima di abilitare lo schema discover su un bus di eventi:
+ L'abilitazione dell'individuazione degli eventi in un router di eventi può comportare un costo. I primi cinque milioni di eventi elaborati ogni mese sono gratuiti.
+ EventBridge per impostazione predefinita, deduce gli schemi dagli eventi tra account diversi, ma è possibile disabilitarlo aggiornando la proprietà. `cross-account` Per ulteriori informazioni, consulta [Discoverers](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html) nello EventBridge Schema Registry API Reference.

**Nota**  
L'individuazione dello schema non è supportata per i bus di eventi crittografati utilizzando una chiave gestita dal cliente. Per abilitare l'individuazione dello schema su un bus di eventi, scegli di utilizzare un Chiave di proprietà di AWS. Per ulteriori informazioni, consulta [Opzioni chiave KMS](eb-encryption-at-rest-key-options.md).

**Per avviare o interrompere l'individuazione dello schema su un bus di eventi (console)**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel riquadro di navigazione, scegliere **Event history (Cronologia eventi)**.

1. Seleziona il bus degli eventi su cui desideri avviare o interrompere il rilevamento dello schema.

1. Esegui una delle seguenti operazioni: 
   + Per avviare l'individuazione dello schema, scegli **Avvia scoperta**.
   + Per interrompere l'individuazione dello schema, scegli **Elimina scoperta**.

**Per avviare o interrompere l'individuazione dello schema su un bus di eventi (AWS CLI)**
+ Per avviare l'individuazione dello schema, usa [create-discoverer](https://docs.aws.amazon.com/cli/latest/reference/schemas/create-discoverer.html).

  [Per interrompere l'individuazione dello schema, usa delete-discoverer.](https://docs.aws.amazon.com/cli/latest/reference/schemas/delete-discoverer.html)

**Nota**  
L'individuazione dello schema non supporta eventi di dimensioni superiori a 1000 KB. Questi eventi non verranno rilevati e non verrà generata alcuna notifica di errore. Per tenere traccia degli schemi per eventi più grandi, è necessario creare manualmente gli schemi utilizzando il registro degli schemi.