CreateTable method
Creates a new table.
The method is asynchronous.
This means that it switches a table to the CREATING
state and immediately returns the result. However, the table is actually created in the background and you can only work with it after its state changes to ACTIVE
.
Request
The request contains data in JSON format.
{
"AttributeDefinitions": [
{
"AttributeName": "string",
"AttributeType": "string"
}
],
"BillingMode": "string",
"KeySchema": [
{
"AttributeName": "string",
"KeyType": "string"
}
],
"TableName": "string"
}
Parameters
Parameter | Description |
---|---|
AttributeDefinitions |
An array of attributes that describe the key schema for a table and indexes. Type: Array of objects of the AttributeDefinition type.Required: Yes |
KeySchema |
Attributes that make up a primary key. These attributes should also be specified in AttributeDefinitions .Each item consists of:
HASH role.For a composite primary key (partition key + sort key), specify two attributes: the first with the HASH role and the second with that of RANGE Type: Array of objects of the KeySchemaElement typeLength: 1-2 items. Required: Yes |
TableName |
Name of the table you create. May contain a path in the directory hierarchy like path/to/table. Type: String Length: 3 - 255 characters. Pattern: [a-zA-Z0-9_.-]+ Required: Yes |
Response
If successful, HTTP code 200 is returned.
The response is returned in JSON format.
{
"TableDescription": {
"ArchivalSummary": {
"ArchivalBackupArn": "string",
"ArchivalDateTime": number,
"ArchivalReason": "string"
},
"AttributeDefinitions": [
{
"AttributeName": "string",
"AttributeType": "string"
}
],
"BillingModeSummary": {
"BillingMode": "string",
"LastUpdateToPayPerRequestDateTime": number
},
"CreationDateTime": number,
"GlobalTableVersion": "string",
"ItemCount": number,
"KeySchema": [
{
"AttributeName": "string",
"KeyType": "string"
}
],
"LatestStreamArn": "string",
"LatestStreamLabel": "string",
"Replicas": [
{
"KMSMasterKeyId": "string",
"RegionName": "string",
"ReplicaStatus": "string",
"ReplicaStatusDescription": "string",
"ReplicaStatusPercentProgress": "string"
}
],
"RestoreSummary": {
"RestoreDateTime": number,
"RestoreInProgress": boolean,
"SourceBackupArn": "string",
"SourceTableArn": "string"
},
"SSEDescription": {
"InaccessibleEncryptionDateTime": number,
"KMSMasterKeyArn": "string",
"SSEType": "string",
"Status": "string"
},
"TableArn": "string",
"TableId": "string",
"TableName": "string",
"TableSizeBytes": number,
"TableStatus": "string"
}
}
Parameters
Parameter | Description |
---|---|
TableDescription |
Properties of the created table. Type: Object of the TableDescription type |
Errors
Parameter | Description |
---|---|
InternalServerError |
An internal error occurred on the server side. HTTP status code: 500 |
LimitExceededException |
Table operations limit exceeded. You can simultaneously perform up to 50 operations on tables, such as CreateTable , UpdateTable , DeleteTable , UpdateTimeToLive , RestoreTableFromBackup , and RestoreTableToPointInTime .HTTP status code: 400 |
ResourceInUseException |
An attempt to create a table with a name that already exists. HTTP status code: 400 |
There may be common errors as well. These are errors that are common to all methods.