Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Managed Service for YDB
  • Getting started
  • Access management
      • All methods
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • DescribeTimeToLive
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
        • UpdateTimeToLive
        • UpdateTable
    • Common errors when using the Document API
  • Monitoring metrics
  • Audit Trails events
  • FAQ
  • Public materials

In this article:

  • Request
  • Parameters
  • Response
  • Parameters
  • Errors
  1. Amazon DynamoDB-compatible Document API
  2. Document API reference
  3. Actions
  4. UpdateTable

UpdateTable method

Written by
Yandex Cloud
Updated at April 24, 2026
  • Request
    • Parameters
  • Response
    • Parameters
  • Errors

Updates global secondary indexes and change data capture settings for a specified table.

You can only perform one of the following operations per request:

  • Add a global secondary index to the table.
  • Delete a global secondary index from the table.
  • Enable/disable change data capture.

RequestRequest

The request contains data in JSON format.

{
   "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"
}

ParametersParameters

Parameter Description
TableName Name of the table to update.
It may contain a path in the hierarchical directory structure in path/to/table format.

Type: String
Length: 3 to 255 characters.
Template: [a-zA-Z0-9_.-]+
Required: Yes
AttributeDefinitions Array of attributes describing the key schema for the table and indexes.

Type: Array of AttributeDefinition objects.
Required: No
GlobalSecondaryIndexUpdates Array of operations describing actions on global secondary indexes:
  • Create adds a global secondary index to the table.
    Type: Array of GlobalSecondaryIndexUpdate objects.
    Required: No
  • Delete deletes a global secondary index from the table.
You can only add or delete one index per request.
When creating an index, specify the following parameters:
  • IndexName: It must be unique and at least three characters long. This is a required parameter.
  • KeySchema: Attributes that make up the index primary key.
  • Projection: Specifies attributes copied from the table into the index. Currently, the only supported ProjectionType is ALL.
  • NonKeyAttributes: List of one or multiple non-key attribute names that are projected to the secondary index.

  • Required: No

When deleting a table, you can specify just IndexName.
StreamSpecification Description of the change data feed settings for a table:
  • StreamEnabled defines whether change data capture for the table is enabled.
  • StreamViewType defines the CDC type:
    • KEYS_ONLY: Only the primary key components and the change flag are written.
    • NEW_IMAGE: Any column values resulting from changes are written.
    • OLD_IMAGE: Any column values before changes are written.
    • NEW_AND_OLD_IMAGES: Combination of the NEW_IMAGE and OLD_IMAGE modes. Writes the values of all columns before and after the update.

  • Type: Object of the StreamSpecification type.
    Required: No

ResponseResponse

If successful, HTTP code 200 is returned.
You will get data 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": [
         {             
            "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"
   }
}

ParametersParameters

Parameter Description
TableDescription Properties of the created table.

Type: TableDescription type object.

ErrorsErrors

Parameter Description
InternalServerError An internal error occurred on the server side.

HTTP status code: 500
LimitExceededException Table operations limit exceeded.
You can concurrently perform up to 50 operations on tables, including CreateTable, UpdateTable, DeleteTable, UpdateTimeToLive, RestoreTableFromBackup, and RestoreTableToPointInTime.

HTTP status code: 400
ResourceInUseException Attempting to create a table with the existing name.

HTTP status code: 400
ResourceNotFoundException The specified table does not exist or is still being created using the createTable method.

HTTP status code: 400
ValidationException Attempt to enable change data capture if it is already enabled. Attempt to disable change data capture if it is disabled. Attempt to add an index with a name already taken.

There may be some common errors as well shared by all methods.

Was the article helpful?

Previous
UpdateTimeToLive
Next
Common errors when using the Document API
© 2026 Direct Cursus Technology L.L.C.