Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Управление доступом
      • Все методы
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • DescribeTimeToLive
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
        • UpdateTimeToLive
        • UpdateTable
    • Общие ошибки при работе с Document API
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • Запрос
  • Параметры
  • Ответ
  • Параметры
  • Ошибки
  1. Document API, совместимый с Amazon DynamoDB
  2. Справочник Document API
  3. Actions
  4. UpdateTable

Метод UpdateTable

Статья создана
Yandex Cloud
Обновлена 26 февраля 2024 г.
  • Запрос
    • Параметры
  • Ответ
    • Параметры
  • Ошибки

Обновляет глобальные вторичные индексы и настройки стриминга указанной таблицы.

Вы можете выполнить только одну из этих операций за один запрос:

  • Добавить глобальный вторичный индекс в таблицу.
  • Удалить глобальный вторичный индекс из таблицы.
  • включить/выключить стриминг изменений.

ЗапросЗапрос

Запрос содержит данные в формате JSON.

{
   "AttributeDefinitions": [ 
      { 
         "AttributeName": "string",
         "AttributeType": "string"
      }
   ],
   "BillingMode": "string",
   "GlobalSecondaryIndexUpdates": [ 
      { 
         "Create": { 
            "IndexName": "string",
            "KeySchema": [ 
               { 
                  "AttributeName": "string",
                  "KeyType": "string"
               }
            ],
            "Projection": { 
               "NonKeyAttributes": [ "string" ],
               "ProjectionType": "string"
            }
         },
         "Delete": { 
            "IndexName": "string"
         }
      }
   ],
   "StreamSpecification": { 
      "StreamEnabled": boolean,
      "StreamViewType": "string"
   },
   "TableName": "string"
}

ПараметрыПараметры

Параметр Описание
TableName Имя обновляемой таблицы.
Может содержать путь в иерархии каталогов вида path/to/table.

Тип: Строка
Длина: 3 - 255 символов.
Шаблон: [a-zA-Z0-9_.-]+
Обязательно: Да
AttributeDefinitions Массив атрибутов, описывающих схему ключей для таблицы и индексов.

Тип: Массив объектов типа AttributeDefinition.
Обязательно: Нет
GlobalSecondaryIndexUpdates Массив операций, описывающий действия над глобальными вторичными индексами:
  • Create добавляет новый глобальный вторичный индекс в таблицу.
    Тип: Массив объектов GlobalSecondaryIndexUpdate.
    Обязательно: Нет
  • Delete удаляет глобальный вторичный индекс из таблицы.
За один запрос вы можете добавить или удалить только один индекс.
При создании индекса нужно указывать следующие параметры:
  • IndexName — имя индекса. Имя должно быть уникально, длина — не менее трех символов. Обязательный параметр.
  • KeySchema — это атрибуты, составляющие первичный ключ индекса.
  • Projection — указывает атрибуты, которые копируются из таблицы в индекс. В настоящее время поддерживается только ProjectionType — ALL.
  • NonKeyAttributes — список одного или нескольких неключевых имен атрибутов, которые проецируются во вторичный индекс.

  • Обязательно: Нет

При удалении таблицы достаточно указать только IndexName.
StreamSpecification Описание настроек стрима изменений для таблицы:
  • StreamEnabled определяет, включен ли стриминг изменений для этой таблицы.
  • StreamViewType Определяет тип стриминга:
    • KEYS_ONLY — будут записаны только компоненты первичного ключа и признак изменения.
    • NEW_IMAGE — будут записаны значения всех столбцов, получившиеся в результате изменения.
    • OLD_IMAGE — будут записаны значения всех столбцов, предшествующие изменению.
    • NEW_AND_OLD_IMAGES — комбинация режимов NEW_IMAGE и OLD_IMAGE. Будут записаны значения всех столбцов до и в результате изменения.

  • Тип: объект типа StreamSpecification.
    Обязательно: Нет

ОтветОтвет

В случае успеха вернется 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
ResourceNotFoundException Указанная таблица не существует, или она еще создается методом createTable

Код состояния HTTP: 400
ValidationException Попытка включить стриминг изменений, если он уже включен. Попытка выключить стриминг изменений, если он выключен. Попытка добавить индекс с уже занятым именем.

Также могут возникать Общие ошибки, одинаковые для всех методов.

Была ли статья полезна?

Предыдущая
UpdateTimeToLive
Следующая
Общие ошибки при работе с Document API
Проект Яндекса
© 2025 ООО «Яндекс.Облако»