Метод CreateTable
Статья создана
Обновлена 5 февраля 2024 г.
Создает новую таблицу.
Это асинхронный метод.
Это значит, что метод переводит таблицу в состояние CREATING
и сразу возвращает результат. Но по факту таблица создается в фоне и работать с ней можно только после того, как она перейдет в состояние ACTIVE
.
Запрос
Запрос содержит данные в формате JSON.
{
"AttributeDefinitions": [
{
"AttributeName": "string",
"AttributeType": "string"
}
],
"BillingMode": "string",
"GlobalSecondaryIndexes": [
{
"IndexName": "string",
"KeySchema": [
{
"AttributeName": "string",
"KeyType": "string"
}
],
"Projection": {
"NonKeyAttributes": [ "string" ],
"ProjectionType": "string"
}
}
],
"KeySchema": [
{
"AttributeName": "string",
"KeyType": "string"
}
],
"StreamSpecification": {
"StreamEnabled": boolean,
"StreamViewType": "string"
},
"TableName": "string"
}
Параметры
Параметр | Описание |
---|---|
AttributeDefinitions |
Массив атрибутов, описывающих схему ключей для таблицы и индексов. Тип: массив объектов типа AttributeDefinition .Обязательно: Да |
GlobalSecondaryIndexes |
Массив атрибутов, описывающий один или несколько глобальных вторичных индексов, которые будут созданы в таблице. Каждый элемент состоит из:
Обязательно: Нет |
KeySchema |
Атрибуты, составляющие первичный ключ. Эти атрибуты также должны быть указаны в AttributeDefinitions .Каждый элемент состоит из:
HASH .Для составного первичного ключа (ключ раздела + ключ сортировки) необходимо указать два атрибута: первый с ролью HASH, второй с ролью RANGE Тип: массив объектов типа KeySchemaElement Длина: 1 - 2 элемента. Обязательно: Да |
StreamSpecification |
Описание настроек стрима изменений для таблицы:
Тип: объект типа StreamSpecification .Обязательно: Нет |
TableName |
Имя создаваемой таблицы. Может содержать путь в иерархии каталогов вида path/to/table. Тип: Строка Длина: 3 - 255 символов. Шаблон: [a-zA-Z0-9_.-]+ Обязательно: Да |
Ответ
В случае успеха вернется HTTP с кодом 200.
Запрос возвращает данные в формате JSON.
{
"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": [
{
"KMSMainKeyId": "string",
"RegionName": "string",
"ReplicaStatus": "string",
"ReplicaStatusDescription": "string",
"ReplicaStatusPercentProgress": "string"
}
],
"RestoreSummary": {
"RestoreDateTime": number,
"RestoreInProgress": boolean,
"SourceBackupArn": "string",
"SourceTableArn": "string"
},
"SSEDescription": {
"InaccessibleEncryptionDateTime": number,
"KMSMainKeyArn": "string",
"SSEType": "string",
"Status": "string"
},
"StreamSpecification": {
"StreamEnabled": boolean,
"StreamViewType": "string"
},
"TableArn": "string",
"TableId": "string",
"TableName": "string",
"TableSizeBytes": number,
"TableStatus": "string"
}
}
Параметры
Параметр | Описание |
---|---|
TableDescription |
Свойства созданной таблицы. Тип: объект типа TableDescription |
Ошибки
Параметр | Описание |
---|---|
InternalServerError |
Произошла внутренняя ошибка на стороне сервера. Код состояния HTTP: 500 |
LimitExceededException |
Превышен лимит операций над таблицами. Одновременно допускается до 50 операций над таблицами, включая CreateTable , UpdateTable , DeleteTable , UpdateTimeToLive , RestoreTableFromBackup , и RestoreTableToPointInTime .Код состояния HTTP: 400 |
ResourceInUseException |
Попытка создать таблицу с уже существующим именем. Код состояния HTTP: 400 |
Также могут возникать Общие ошибки, одинаковые для всех методов.