Glue.Client.
create_schema
(**kwargs)¶Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.
When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode "DISABLED" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the RegisterSchemaVersion
API is used.
When this API is called without a RegistryId
, this will create an entry for a "default-registry" in the registry database tables, if it is not already present.
See also: AWS API Documentation
Request Syntax
response = client.create_schema(
RegistryId={
'RegistryName': 'string',
'RegistryArn': 'string'
},
SchemaName='string',
DataFormat='AVRO'|'JSON'|'PROTOBUF',
Compatibility='NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL',
Description='string',
Tags={
'string': 'string'
},
SchemaDefinition='string'
)
This is a wrapper shape to contain the registry identity fields. If this is not provided, the default registry will be used. The ARN format for the same will be: arn:aws:glue:us-east-2:<customer id>:registry/default-registry:random-5-letter-id
.
Name of the registry. Used only for lookup. One of RegistryArn
or RegistryName
has to be provided.
Arn of the registry to be updated. One of RegistryArn
or RegistryName
has to be provided.
[REQUIRED]
Name of the schema to be created of max length of 255, and may only contain letters, numbers, hyphen, underscore, dollar sign, or hash mark. No whitespace.
[REQUIRED]
The data format of the schema definition. Currently AVRO
, JSON
and PROTOBUF
are supported.
The compatibility mode of the schema. The possible values are:
Amazon Web Services tags that contain a key value pair and may be searched by console, command line, or API. If specified, follows the Amazon Web Services tags-on-create pattern.
DataFormat
setting for SchemaName
.dict
Response Syntax
{
'RegistryName': 'string',
'RegistryArn': 'string',
'SchemaName': 'string',
'SchemaArn': 'string',
'Description': 'string',
'DataFormat': 'AVRO'|'JSON'|'PROTOBUF',
'Compatibility': 'NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL',
'SchemaCheckpoint': 123,
'LatestSchemaVersion': 123,
'NextSchemaVersion': 123,
'SchemaStatus': 'AVAILABLE'|'PENDING'|'DELETING',
'Tags': {
'string': 'string'
},
'SchemaVersionId': 'string',
'SchemaVersionStatus': 'AVAILABLE'|'PENDING'|'FAILURE'|'DELETING'
}
Response Structure
(dict) --
RegistryName (string) --
The name of the registry.
RegistryArn (string) --
The Amazon Resource Name (ARN) of the registry.
SchemaName (string) --
The name of the schema.
SchemaArn (string) --
The Amazon Resource Name (ARN) of the schema.
Description (string) --
A description of the schema if specified when created.
DataFormat (string) --
The data format of the schema definition. Currently AVRO
, JSON
and PROTOBUF
are supported.
Compatibility (string) --
The schema compatibility mode.
SchemaCheckpoint (integer) --
The version number of the checkpoint (the last time the compatibility mode was changed).
LatestSchemaVersion (integer) --
The latest version of the schema associated with the returned schema definition.
NextSchemaVersion (integer) --
The next version of the schema associated with the returned schema definition.
SchemaStatus (string) --
The status of the schema.
Tags (dict) --
The tags for the schema.
SchemaVersionId (string) --
The unique identifier of the first schema version.
SchemaVersionStatus (string) --
The status of the first schema version created.
Exceptions
Glue.Client.exceptions.InvalidInputException
Glue.Client.exceptions.AccessDeniedException
Glue.Client.exceptions.EntityNotFoundException
Glue.Client.exceptions.AlreadyExistsException
Glue.Client.exceptions.ResourceNumberLimitExceededException
Glue.Client.exceptions.ConcurrentModificationException
Glue.Client.exceptions.InternalServiceException