Support of DynamoDB for Node.js - JavaScript
CAST supports DynamoDB via its com.castsoftware.nodejs extension. Details about how this support is provided for Node.js JavaScript source
code is discussed below.
Objects
| Icon | Description |
|---|---|
![]() |
Node.js DynamoDB Endpoint |
![]() |
Node.jsDynamoDB Table |
Links
DynamoDB API
| Link Type | Function api v2 | Commands from SDK V3 imported from ‘@aws-sdk/client-dynamodb’ |
|---|---|---|
| No Link | createGlobalTable createTable |
- |
| useSelectLink | createBackup getItem batchGetItem transactWriteItems batchWriteItem restoreTableToPointInTime |
CreateTableCommand BatchGetItemCommand GetItemCommand |
| useDeleteLink | deleteTable deleteItem transactWriteItems batchWriteItem |
DeleteTableCommand DeleteItemCommand |
| useUpdateLink | transactWriteItems batchWriteItem updateItem updateTable putItem restoreTableToPointInTime restoreTableFromBackup |
PutItemCommand UpdateItemCommand UpdateCommand |
DocumentClient
| Link Type | Function api v2 |
|---|---|
| useSelectLink | batchGet transactGet get scan query batchWrite transactWrite |
| useDeleteLink | batchWrite transactWrite delete |
| useUpdateLink | put update batchWrite transactWrite |
API: Commands from SDK V3
imported from '@aws-sdk/client-dynamodb'
| Link Type | Function |
|---|---|
| No Link | CreateGlobalTableCommand CreateTableCommand |
| useSelectLink | CreateBackupCommand GetItemCommand BatchGetItemCommand TransactGetItemsCommand RestoreTableToPointInTimeCommand |
| useDeleteLink | DeleteItemCommand DeleteTableCommand TransactWriteItemsCommand BatchWriteItemCommand |
| useUpdateLink | TransactWriteItemsCommand BatchWriteItemCommand UpdateItemCommand CreateBackupCommand UpdateTableCommand PutItemCommand RestoreTableFromBackupCommand |
Code samples
API v2 sample
These declaration will establish a connection to the database located on localhost:
var AWS = require("aws-sdk");
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000"
});
var dynamodb = new AWS.DynamoDB();
These declarations will create a useUpdateLink from code to the database “myDatabase”:
/* This example adds a new item to the Music table. */
var params = {
Item: {
"AlbumTitle": {
S: "Somewhat Famous"
},
"Artist": {
S: "No One You Know"
},
"SongTitle": {
S: "Call Me Today"
}
},
ReturnConsumedCapacity: "TOTAL",
TableName: "Music"
};
dynamodb.putItem(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
What results can you expect?

Api v3 sample
These declaration swill establish a connection to the database located on localhost, create two tables, and create links:
const {DynamoDBClient} = require("@aws-sdk/client-dynamodb");
const REGION = "us-east-1";
const ddbClient = new DynamoDBClient({region: REGION,
endpoint: "http://localhost:8000" });
export { ddbClient };
const {CreateTableCommand} = require("@aws-sdk/client-dynamodb");
const {PutItemCommand } = require("@aws-sdk/client-dynamodb");
const {DeleteTableCommand } = require("@aws-sdk/client-dynamodb");
// Set the parameters
export const params_put = {
TableName: "TABLE_NAME_2",
Item: {
CUSTOMER_ID: { N: "001" },
CUSTOMER_NAME: { S: "Richard Roe" },
},
};
export const create = async () => {
try {
const data = await ddbClient.send(new CreateTableCommand({TableName: "TABLE_NAME"}));
console.log("Table Created", data);
return data;
} catch (err) {
console.log("Error", err);
}
};
create();
export const put_item = async () => {
try {
const data = await ddbClient.send(new PutItemCommand(params_put));
console.log("Table Updated", data);
return data;
} catch (err) {
console.log("Error", err);
}
};
put_item();
export const delete_item = async () => {
try {
const data = await ddbClient.send(new DeleteTableCommand({TableName: "TABLE_NAME"}));
console.log("Success, table deleted", data);
return data;
} catch (err) {
console.log("Error", err);
}
};
delete_item();


