DescribeTableCommand

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { DynamoDBClient, DescribeTableCommand } from "@aws-sdk/client-dynamodb"; // ES Modules import
// const { DynamoDBClient, DescribeTableCommand } = require("@aws-sdk/client-dynamodb"); // CommonJS import
const client = new DynamoDBClient(config);
const input = { // DescribeTableInput
  TableName: "STRING_VALUE", // required
};
const command = new DescribeTableCommand(input);
const response = await client.send(command);
// { // DescribeTableOutput
//   Table: { // TableDescription
//     AttributeDefinitions: [ // AttributeDefinitions
//       { // AttributeDefinition
//         AttributeName: "STRING_VALUE", // required
//         AttributeType: "S" || "N" || "B", // required
//       },
//     ],
//     TableName: "STRING_VALUE",
//     KeySchema: [ // KeySchema
//       { // KeySchemaElement
//         AttributeName: "STRING_VALUE", // required
//         KeyType: "HASH" || "RANGE", // required
//       },
//     ],
//     TableStatus: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED",
//     CreationDateTime: new Date("TIMESTAMP"),
//     ProvisionedThroughput: { // ProvisionedThroughputDescription
//       LastIncreaseDateTime: new Date("TIMESTAMP"),
//       LastDecreaseDateTime: new Date("TIMESTAMP"),
//       NumberOfDecreasesToday: Number("long"),
//       ReadCapacityUnits: Number("long"),
//       WriteCapacityUnits: Number("long"),
//     },
//     TableSizeBytes: Number("long"),
//     ItemCount: Number("long"),
//     TableArn: "STRING_VALUE",
//     TableId: "STRING_VALUE",
//     BillingModeSummary: { // BillingModeSummary
//       BillingMode: "PROVISIONED" || "PAY_PER_REQUEST",
//       LastUpdateToPayPerRequestDateTime: new Date("TIMESTAMP"),
//     },
//     LocalSecondaryIndexes: [ // LocalSecondaryIndexDescriptionList
//       { // LocalSecondaryIndexDescription
//         IndexName: "STRING_VALUE",
//         KeySchema: [
//           {
//             AttributeName: "STRING_VALUE", // required
//             KeyType: "HASH" || "RANGE", // required
//           },
//         ],
//         Projection: { // Projection
//           ProjectionType: "ALL" || "KEYS_ONLY" || "INCLUDE",
//           NonKeyAttributes: [ // NonKeyAttributeNameList
//             "STRING_VALUE",
//           ],
//         },
//         IndexSizeBytes: Number("long"),
//         ItemCount: Number("long"),
//         IndexArn: "STRING_VALUE",
//       },
//     ],
//     GlobalSecondaryIndexes: [ // GlobalSecondaryIndexDescriptionList
//       { // GlobalSecondaryIndexDescription
//         IndexName: "STRING_VALUE",
//         KeySchema: [
//           {
//             AttributeName: "STRING_VALUE", // required
//             KeyType: "HASH" || "RANGE", // required
//           },
//         ],
//         Projection: {
//           ProjectionType: "ALL" || "KEYS_ONLY" || "INCLUDE",
//           NonKeyAttributes: [
//             "STRING_VALUE",
//           ],
//         },
//         IndexStatus: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE",
//         Backfilling: true || false,
//         ProvisionedThroughput: {
//           LastIncreaseDateTime: new Date("TIMESTAMP"),
//           LastDecreaseDateTime: new Date("TIMESTAMP"),
//           NumberOfDecreasesToday: Number("long"),
//           ReadCapacityUnits: Number("long"),
//           WriteCapacityUnits: Number("long"),
//         },
//         IndexSizeBytes: Number("long"),
//         ItemCount: Number("long"),
//         IndexArn: "STRING_VALUE",
//         OnDemandThroughput: { // OnDemandThroughput
//           MaxReadRequestUnits: Number("long"),
//           MaxWriteRequestUnits: Number("long"),
//         },
//         WarmThroughput: { // GlobalSecondaryIndexWarmThroughputDescription
//           ReadUnitsPerSecond: Number("long"),
//           WriteUnitsPerSecond: Number("long"),
//           Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE",
//         },
//       },
//     ],
//     StreamSpecification: { // StreamSpecification
//       StreamEnabled: true || false, // required
//       StreamViewType: "NEW_IMAGE" || "OLD_IMAGE" || "NEW_AND_OLD_IMAGES" || "KEYS_ONLY",
//     },
//     LatestStreamLabel: "STRING_VALUE",
//     LatestStreamArn: "STRING_VALUE",
//     GlobalTableVersion: "STRING_VALUE",
//     Replicas: [ // ReplicaDescriptionList
//       { // ReplicaDescription
//         RegionName: "STRING_VALUE",
//         ReplicaStatus: "CREATING" || "CREATION_FAILED" || "UPDATING" || "DELETING" || "ACTIVE" || "REGION_DISABLED" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS",
//         ReplicaStatusDescription: "STRING_VALUE",
//         ReplicaStatusPercentProgress: "STRING_VALUE",
//         KMSMasterKeyId: "STRING_VALUE",
//         ProvisionedThroughputOverride: { // ProvisionedThroughputOverride
//           ReadCapacityUnits: Number("long"),
//         },
//         OnDemandThroughputOverride: { // OnDemandThroughputOverride
//           MaxReadRequestUnits: Number("long"),
//         },
//         WarmThroughput: { // TableWarmThroughputDescription
//           ReadUnitsPerSecond: Number("long"),
//           WriteUnitsPerSecond: Number("long"),
//           Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED",
//         },
//         GlobalSecondaryIndexes: [ // ReplicaGlobalSecondaryIndexDescriptionList
//           { // ReplicaGlobalSecondaryIndexDescription
//             IndexName: "STRING_VALUE",
//             ProvisionedThroughputOverride: {
//               ReadCapacityUnits: Number("long"),
//             },
//             OnDemandThroughputOverride: {
//               MaxReadRequestUnits: Number("long"),
//             },
//             WarmThroughput: {
//               ReadUnitsPerSecond: Number("long"),
//               WriteUnitsPerSecond: Number("long"),
//               Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE",
//             },
//           },
//         ],
//         ReplicaInaccessibleDateTime: new Date("TIMESTAMP"),
//         ReplicaTableClassSummary: { // TableClassSummary
//           TableClass: "STANDARD" || "STANDARD_INFREQUENT_ACCESS",
//           LastUpdateDateTime: new Date("TIMESTAMP"),
//         },
//       },
//     ],
//     RestoreSummary: { // RestoreSummary
//       SourceBackupArn: "STRING_VALUE",
//       SourceTableArn: "STRING_VALUE",
//       RestoreDateTime: new Date("TIMESTAMP"), // required
//       RestoreInProgress: true || false, // required
//     },
//     SSEDescription: { // SSEDescription
//       Status: "ENABLING" || "ENABLED" || "DISABLING" || "DISABLED" || "UPDATING",
//       SSEType: "AES256" || "KMS",
//       KMSMasterKeyArn: "STRING_VALUE",
//       InaccessibleEncryptionDateTime: new Date("TIMESTAMP"),
//     },
//     ArchivalSummary: { // ArchivalSummary
//       ArchivalDateTime: new Date("TIMESTAMP"),
//       ArchivalReason: "STRING_VALUE",
//       ArchivalBackupArn: "STRING_VALUE",
//     },
//     TableClassSummary: {
//       TableClass: "STANDARD" || "STANDARD_INFREQUENT_ACCESS",
//       LastUpdateDateTime: new Date("TIMESTAMP"),
//     },
//     DeletionProtectionEnabled: true || false,
//     OnDemandThroughput: {
//       MaxReadRequestUnits: Number("long"),
//       MaxWriteRequestUnits: Number("long"),
//     },
//     WarmThroughput: {
//       ReadUnitsPerSecond: Number("long"),
//       WriteUnitsPerSecond: Number("long"),
//       Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED",
//     },
//     MultiRegionConsistency: "EVENTUAL" || "STRONG",
//   },
// };

DescribeTableCommand Input

See DescribeTableCommandInput for more details

Parameter
Type
Description
TableName
Required
string | undefined

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

DescribeTableCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
Table
TableDescription | undefined

The properties of the table.

Throws

Name
Fault
Details
InternalServerError
server

An error occurred on the server side.

InvalidEndpointException
client
ResourceNotFoundException
client

The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE.

DynamoDBServiceException
Base exception class for all service exceptions from DynamoDB service.