RegisterSchemaVersion - AWS Glue

RegisterSchemaVersion

Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry.

If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the GetSchemaVersion API with the SchemaVersionId to check compatibility modes.

If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller.

Request Syntax

{ "SchemaDefinition": "string", "SchemaId": { "RegistryName": "string", "SchemaArn": "string", "SchemaName": "string" } }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

SchemaDefinition

The schema definition using the DataFormat setting for the SchemaName.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 170000.

Pattern: .*\S.*

Required: Yes

SchemaId

This is a wrapper structure to contain schema identity fields. The structure contains:

  • SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

  • SchemaId$SchemaName: The name of the schema. Either SchemaArn or SchemaName and RegistryName has to be provided.

Type: SchemaId object

Required: Yes

Response Syntax

{ "SchemaVersionId": "string", "Status": "string", "VersionNumber": number }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

SchemaVersionId

The unique ID that represents the version of this schema.

Type: String

Length Constraints: Fixed length of 36.

Pattern: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}

Status

The status of the schema version.

Type: String

Valid Values: AVAILABLE | PENDING | FAILURE | DELETING

VersionNumber

The version of this schema (for sync flow only, in case this is the first version).

Type: Long

Valid Range: Minimum value of 1. Maximum value of 100000.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

Access to a resource was denied.

HTTP Status Code: 400

ConcurrentModificationException

Two processes are trying to modify a resource simultaneously.

HTTP Status Code: 400

EntityNotFoundException

A specified entity does not exist

HTTP Status Code: 400

InternalServiceException

An internal service error occurred.

HTTP Status Code: 500

InvalidInputException

The input provided was not valid.

HTTP Status Code: 400

ResourceNumberLimitExceededException

A resource numerical limit was exceeded.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: