Benjamin Lannon

Select a theme. Click on the overlay or the button again to exit

DynamoDB Cheatsheet

Posted on:

A cheatsheet of common functions called using the AWS SDK v3 DynamoDB DocumentClient.

Initial Setup

const { DynamoDBClient } = require("@aws-sdk/client-dynamodb");
const { DynamoDBDocumentClient } = require("@aws-sdk/lib-dynamodb");
const ddbClient = new DynamoDBClient({
region: "<region>",
credentials: {
accessKeyId: "<acccessKeyId>",
secretAccessKey: "<secretAccessKey>",
},
});
const docClient = DynamoDBDocumentClient.from(ddbClient);

Query

The following expects a partition key of year_month.

const resp = await docClient.send(
new QueryCommand({
TableName: "<table_name>",
KeyConditionExpression: "year_month = :ym",
ExpressionAttributeValues: {
":ym": "2022-12",
},
})
);

const items = resp.Items;

Put

const data = {
foo: "",
bar: "",
};

await docClient.send(
new PutCommand({
TableName: "<table_name>",
Item: {
year_month: "2022-12",
timestamp: dayjs().unix().toString(),
...data,
},
})
);