Création d'un schéma - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un schéma

Vous pouvez créer un schéma à l'aide du AWS Glue APIs ou le AWS Glue console.

AWS Glue APIs

Vous pouvez suivre ces étapes pour effectuer cette tâche à l'aide du AWS Glue APIs.

Pour ajouter un nouveau schéma, utilisez l'API CreateSchema action (Python : créer_schéma).

Spécifiez une structure RegistryId pour indiquer un registre pour le schéma. Ou, omettez la valeur RegistryId pour utiliser le registre par défaut.

Spécifiez une valeur SchemaName composée de lettres, de chiffres, de traits d'union et de traits de soulignement, ainsi qu'une valeur DataFormat comme AVRO ou JSON. Une fois la valeur DataFormat définie sur un schéma, elle n'est pas modifiable.

Spécifiez un mode Compatibility :

  • Backward (Descendant) (recommandé) — L'application consommateur peut lire à la fois la version actuelle et précédente.

  • Backward all (Descendant tout) — L'application consommateur peut lire les versions actuelles et toutes les versions précédentes.

  • Forward (Ascendant) — L'application consommateur peut lire à la fois la version actuelle et la version ultérieure.

  • Forward all (Ascendant tout) — L'application consommateur peut lire à la fois les versions actuelles et les versions ultérieures.

  • Full (Complet) — Combinaison de Forward (Ascendant) et de Backward (Descendant).

  • Full all (Complet tout) — Combinaison de Backward all (Descendant tout) et de Forward all (Ascendant tout).

  • None (Aucun) — Aucune vérification de compatibilité n'est effectuée.

  • Disabled (Désactivé) — Empêche toute gestion des versions pour ce schéma.

Le cas échéant, spécifiez Tags pour votre schéma.

Spécifiez une valeur SchemaDefinition pour définir le schéma au format de données Avro, JSON ou Protobuf. Veuillez consulter les exemples.

Pour le format de données 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\"} ]}"

Pour le format de données 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\"}}}"

Pour le format de données 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;}"
AWS Glue console

Pour ajouter un nouveau schéma à l'aide du AWS Glue console :

  1. Connectez-vous à la console AWS de gestion et ouvrez AWS Glue console à https://console.aws.amazon.com/glue/.

  2. Dans le panneau de navigation, sous Data catalog (Catalogue de données), choisissez Schemas (Schémas).

  3. Choisissez Add schema (Ajouter un schéma).

  4. Saisissez un nom de schéma, composé de lettres, de chiffres, de traits d'union, de traits de soulignement, de symboles dollar ou de dièses. Ce nom ne peut pas être modifié.

  5. Cliquez sur l'onglet Registry (Registre) où le schéma sera stocké à partir du menu déroulant. Le registre parent ne peut pas être modifié après la création.

  6. Quitter le format de données en tant qu'Apache Avro ou JSON. Ce format s'applique à toutes les versions de ce schéma.

  7. Choisissez un mode de compatibilité.

    • Backward (Descendant) (recommandé) — Le récepteur peut lire à la fois les versions actuelles et précédentes.

    • Backward All (Descendant tout) — Le récepteur peut lire les versions actuelles et toutes les versions précédentes.

    • Forward (Ascendant) — L'expéditeur peut écrire à la fois les versions actuelles et précédentes.

    • Forward all (Ascendant tout) — L'expéditeur peut écrire la version actuelle et toutes les versions précédentes.

    • Full (Complet) — Combinaison de Forward (Ascendant) et de Backward (Descendant).

    • Full All (Complet tout) — Combinaison de Backward All (Descendant tout) et de Forward All (Ascendant tout).

    • None (Aucun) — Aucune vérification de compatibilité n'est effectuée.

    • Disabled (Désactivé) — Empêche toute gestion des versions pour ce schéma.

  8. Saisissez une description facultative pour le registre de 250 caractères maximum.

    Exemple de création d'un schéma.
  9. Si vous le souhaitez, appliquez une ou plusieurs balises à votre schéma. Choisissez Add new tag (Ajouter une nouvelle balise) et spécifiez une clé de balise, et éventuellement une valeur de balise.

  10. Dans la case First schema version (Première version de schéma), saisissez ou collez votre schéma initial.

    Pour le format Avro, voir Utilisation du format de données Avro

    Pour le format JSON, voir Utilisation du format de données JSON

  11. Choisissez éventuellement Add metadata (Ajouter des métadonnées) pour ajouter des métadonnées de version afin d'annoter ou de classer votre version de schéma.

  12. Choisissez Create schema and version (Créer un schéma et une version).

Exemple de création d'un schéma.

Le schéma est créé et apparaît dans la liste sous Schemas (Schémas).

Utilisation du format de données Avro

Avro fournit des services de sérialisation et d'échange de données. Avro stocke la définition des données au format JSON, ce qui la rend facile à lire et à interpréter. Les données elles-mêmes sont stockées au format binaire.

Pour plus d'informations sur la définition d'un schéma Apache Avro, veuillez consulter la spécification d'Apache Avro.

Utilisation du format de données JSON

Les données peuvent être sérialisées au format JSON. Le format de schéma JSON définit la norme pour le format de schéma JSON.