Creación de un esquema
Puede crear un esquema con las API de AWS Glue o la consola de AWS Glue.
Las API de AWS Glue
Puede seguir estos pasos para realizar esta tarea mediante las API de AWS Glue.
Para agregar un esquema nuevo, use la API de Acción CreateSchema (Python: create_schema).
Especifique una estructura de RegistryId
para indicar un registro para el esquema. O bien, omita el RegistryId
para utilizar el registro predeterminado.
Especifique un SchemaName
, que conste de letras, números, guiones o guiones bajos, y DataFormat
como AVRO
o JSON
. Una vez configurado el DataFormat
en un esquema no puede modificarse.
Especifique un modo de Compatibility
:
Hacia atrás (recomendado): el consumidor puede leer tanto la versión actual como la anterior.
Hacia atrás todo: el consumidor puede leer tanto la versión actual como todas las anteriores.
Hacia adelante: el consumidor puede leer tanto la versión actual como la posterior.
Hacia adelante todo: el consumidor puede leer tanto la versión actual como todas las versiones posteriores.
Completo: combinación de hacia atrás y hacia adelante.
Completo todo: combinación de hacia atrás todos y hacia adelante todos.
Ninguno: no se realizan comprobaciones de compatibilidad.
Desactivado: evita cualquier control de versiones para este esquema.
Opcionalmente, especifique Tags
para su esquema.
Especifique una SchemaDefinition
para definir el esquema en formato de datos Avro, JSON o Protobuf. Consulte estos ejemplos.
Para el formato de datos 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\"} ]}"
Para el formato de datos 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\"}}}"
Para el formato de datos 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;}"
Consola de AWS Glue
Para agregar un nuevo esquema a través de la consola de AWS Glue:
-
Inicie sesión en la consola de administración de AWS y abra la consola de AWS Glue en https://console.aws.amazon.com/glue/
. En el panel de navegación, en Data catalog (Catálogo de datos), elija Schema (Esquemas).
Elija Add schema (Agregar esquema).
Escriba un Schema name (Nombre del esquema), que conste de letras, números, guiones, guiones bajos, signos de dólar o marcas hash. Este nombre no se puede cambiar.
Elija el Registry (Registro) en el que se almacenará el esquema del menú desplegable. El registro principal no se puede cambiar después de la creación.
Deje el Data format (Formato de los datos) como Apache Avro o JSON. Este formato se aplica a todas las versiones de este esquema.
Elija un (Compatibility mode) Modo de compatibilidad.
Hacia atrás (recomendado): el receptor puede leer tanto la versión actual como la anterior.
Hacia atrás todo: el receptor puede leer tanto la versión actual como todas las anteriores.
Hacia adelante: el remitente puede escribir tanto la versión actual como la anterior.
Hacia adelante todo: el remitente puede escribir tanto la versión actual como todas las versiones anteriores.
Completo: combinación de hacia atrás y hacia adelante.
Completo todo: combinación de hacia atrás todos y hacia adelante todos.
Ninguno: no se realizan comprobaciones de compatibilidad.
Desactivado: evita cualquier control de versiones para este esquema.
Escriba una Description (Descripción) para el registro de hasta 250 caracteres.
De manera opcional, aplique una o varias etiquetas a su esquema. Elija Add new tag (Agregar nueva etiqueta) y especifique una Tag key (Clave de etiqueta) y, opcionalmente, un Tag value (Valor de etiqueta).
En la casilla, First schema version (Primera versión del esquema), ingrese o pegue el esquema inicial.
Para el formato Avro, consulte Trabajar con formato de datos Avro
Para el formato JSON, consulte Trabajar con formato de datos JSON
También puede seleccionar Add metadata (Agregar metadatos) para agregar metadatos de versión para anotar o clasificar la versión del esquema.
Elija Create schema and version (Crear esquema y versión).

El esquema se crea y aparece en la lista en Schemas (Esquemas).
Trabajar con formato de datos Avro
Avro proporciona servicios de serialización e intercambio de datos. Avro almacena la definición de datos en formato JSON, lo que facilita su lectura e interpretación. Los datos en sí se almacenan en formato binario.
Para obtener información sobre cómo definir un esquema Apache Avro, consulte la especificación de Apache Avro
Trabajar con formato de datos JSON
Los datos se pueden serializar con formato JSON. Formato de esquemas JSON