Amazon DynamoDB · Schema

TableDescription

Represents the properties of a DynamoDB table

DatabaseDocument StoreKey-ValueNoSQLServerless

Properties

Name Type Description
TableName string The name of the table
TableStatus string The current state of the table
TableArn string The Amazon Resource Name (ARN) of the table
TableId string Unique identifier for the table
CreationDateTime number The date and time when the table was created
KeySchema array The primary key structure for the table
AttributeDefinitions array An array of attribute definitions for the table
ProvisionedThroughput object
TableSizeBytes integer The total size of the table in bytes
ItemCount integer The number of items in the table
GlobalSecondaryIndexes array The global secondary indexes on the table
LocalSecondaryIndexes array The local secondary indexes on the table
BillingModeSummary object Contains details about the billing mode for the table
View JSON Schema on GitHub

JSON Schema

dynamodb-openapi-table-description-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-dynamodb/refs/heads/main/json-schema/dynamodb-openapi-table-description-schema.json",
  "title": "TableDescription",
  "description": "Represents the properties of a DynamoDB table",
  "type": "object",
  "properties": {
    "TableName": {
      "type": "string",
      "description": "The name of the table"
    },
    "TableStatus": {
      "type": "string",
      "description": "The current state of the table",
      "enum": [
        "CREATING",
        "UPDATING",
        "DELETING",
        "ACTIVE",
        "INACCESSIBLE_ENCRYPTION_CREDENTIALS",
        "ARCHIVING",
        "ARCHIVED"
      ]
    },
    "TableArn": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) of the table"
    },
    "TableId": {
      "type": "string",
      "description": "Unique identifier for the table"
    },
    "CreationDateTime": {
      "type": "number",
      "description": "The date and time when the table was created"
    },
    "KeySchema": {
      "type": "array",
      "description": "The primary key structure for the table",
      "items": {
        "$ref": "#/components/schemas/KeySchemaElement"
      }
    },
    "AttributeDefinitions": {
      "type": "array",
      "description": "An array of attribute definitions for the table",
      "items": {
        "$ref": "#/components/schemas/AttributeDefinition"
      }
    },
    "ProvisionedThroughput": {
      "$ref": "#/components/schemas/ProvisionedThroughputDescription"
    },
    "TableSizeBytes": {
      "type": "integer",
      "description": "The total size of the table in bytes"
    },
    "ItemCount": {
      "type": "integer",
      "description": "The number of items in the table"
    },
    "GlobalSecondaryIndexes": {
      "type": "array",
      "description": "The global secondary indexes on the table",
      "items": {
        "type": "object"
      }
    },
    "LocalSecondaryIndexes": {
      "type": "array",
      "description": "The local secondary indexes on the table",
      "items": {
        "type": "object"
      }
    },
    "BillingModeSummary": {
      "type": "object",
      "description": "Contains details about the billing mode for the table",
      "properties": {
        "BillingMode": {
          "type": "string",
          "enum": [
            "PROVISIONED",
            "PAY_PER_REQUEST"
          ]
        },
        "LastUpdateToPayPerRequestDateTime": {
          "type": "number"
        }
      }
    }
  }
}