CreateTable - AWS Glue

CreateTable

Creates a new table definition in the Data Catalog.

Request Syntax

{ "CatalogId": "string", "DatabaseName": "string", "OpenTableFormatInput": { "IcebergInput": { "MetadataOperation": "string", "Version": "string" } }, "PartitionIndexes": [ { "IndexName": "string", "Keys": [ "string" ] } ], "TableInput": { "Description": "string", "LastAccessTime": number, "LastAnalyzedTime": number, "Name": "string", "Owner": "string", "Parameters": { "string" : "string" }, "PartitionKeys": [ { "Comment": "string", "Name": "string", "Parameters": { "string" : "string" }, "Type": "string" } ], "Retention": number, "StorageDescriptor": { "AdditionalLocations": [ "string" ], "BucketColumns": [ "string" ], "Columns": [ { "Comment": "string", "Name": "string", "Parameters": { "string" : "string" }, "Type": "string" } ], "Compressed": boolean, "InputFormat": "string", "Location": "string", "NumberOfBuckets": number, "OutputFormat": "string", "Parameters": { "string" : "string" }, "SchemaReference": { "SchemaId": { "RegistryName": "string", "SchemaArn": "string", "SchemaName": "string" }, "SchemaVersionId": "string", "SchemaVersionNumber": number }, "SerdeInfo": { "Name": "string", "Parameters": { "string" : "string" }, "SerializationLibrary": "string" }, "SkewedInfo": { "SkewedColumnNames": [ "string" ], "SkewedColumnValueLocationMaps": { "string" : "string" }, "SkewedColumnValues": [ "string" ] }, "SortColumns": [ { "Column": "string", "SortOrder": number } ], "StoredAsSubDirectories": boolean }, "TableType": "string", "TargetTable": { "CatalogId": "string", "DatabaseName": "string", "Name": "string", "Region": "string" }, "ViewExpandedText": "string", "ViewOriginalText": "string" }, "TransactionId": "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.

CatalogId

The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default.

Type: String

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

Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*

Required: No

DatabaseName

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

Type: String

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

Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*

Required: Yes

OpenTableFormatInput

Specifies an OpenTableFormatInput structure when creating an open format table.

Type: OpenTableFormatInput object

Required: No

PartitionIndexes

A list of partition indexes, PartitionIndex structures, to create in the table.

Type: Array of PartitionIndex objects

Array Members: Maximum number of 3 items.

Required: No

TableInput

The TableInput object that defines the metadata table to create in the catalog.

Type: TableInput object

Required: Yes

TransactionId

The ID of the transaction.

Type: String

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

Pattern: [\p{L}\p{N}\p{P}]*

Required: No

Response Elements

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

Errors

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

AlreadyExistsException

A resource to be created or added already exists.

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

GlueEncryptionException

An encryption operation failed.

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

OperationTimeoutException

The operation timed out.

HTTP Status Code: 400

ResourceNotReadyException

A resource was not ready for a transaction.

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: