ddb_createtable.ts - AWS Code Sample

ddb_createtable.ts

/* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 ABOUT THIS NODE.JS EXAMPLE: This example works with AWS SDK for JavaScript version 3 (v3), which is pending release. The preview version of the SDK is available at https://github.com/aws/aws-sdk-js-v3. This example is in the 'AWS SDK for JavaScript v3 Developer Guide' at https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-examples-using-tables.html. Purpose: ddb_createtable.ts demonstrates how to create an Amazon DynamoDB table. Inputs (replace in code): - REGION - TABLE_NAME - ATTRIBUTE_NAME_1: the name of the partition key - ATTRIBUTE_NAME_2: the name of the sort key (optional) - ATTRIBUTE_TYPE: the type of the attribute (e.g., N [for a number], S [for a string] etc.) Running the code: ts-node ddb_createtable.ts */ // Import required AWS SDK clients and commands for Node.js const { DynamoDBClient, CreateTableCommand } = require("@aws-sdk/client-dynamodb"); // Set the AWS Region const REGION = "region"; //e.g. "us-east-1" // Set the parameters const params = { AttributeDefinitions: [ { AttributeName: "Season", //ATTRIBUTE_NAME_1 AttributeType: "N", //ATTRIBUTE_TYPE }, { AttributeName: "Episode", //ATTRIBUTE_NAME_2 AttributeType: "N", //ATTRIBUTE_TYPE }, ], KeySchema: [ { AttributeName: "Season", //ATTRIBUTE_NAME_1 KeyType: "HASH", }, { AttributeName: "Episode", //ATTRIBUTE_NAME_2 KeyType: "RANGE", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, TableName: "TABLE_NAME", //TABLE_NAME StreamSpecification: { StreamEnabled: false, }, }; // Create DynamoDB service object const dbclient = new DynamoDBClient(REGION); const run = async () => { try { const data = await dbclient.send(new CreateTableCommand(params)); console.log("Table Created", data); } catch (err) { console.log("Error", err); } }; run();