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
"
},
"ViewDefinition": {
"Definer": "string
",
"IsProtected": boolean
,
"Representations": [
{
"Dialect": "string
",
"DialectVersion": "string
",
"ValidationConnection": "string
",
"ViewExpandedText": "string
",
"ViewOriginalText": "string
"
}
],
"SubObjects": [ "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
- FederationSourceException
-
A federation source failed.
HTTP Status Code: 400
- FederationSourceRetryableException
-
A federation source failed, but the operation may be retried.
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: