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 |
useUpdateLink | transactWriteItems batchWriteItem updateItem updateTable putItem restoreTableToPointInTime restoreTableFromBackup |
PutItemCommand |
DocumentClient
Link Type | Function api v2 | Commands from SDK V3 imported from '@aws-sdk/client-dynamodb' |
---|---|---|
useSelectLink |
|
- |
useDeleteLink |
|
- |
useUpdateLink |
|
- |
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();