A DataLoader that batches DynamoDB item lookups

Downloads in past


1201.0.23 years ago4 years agoMinified + gzip package size for @lifeomic/dynamodb-dataloader in KB


npm Build Status Greenkeeper badge
A DataLoader that batches requests for DynamoDB. The DataLoader can fetch items from multiple tables at once so you should only need one instance per request.
You should be able to replace your calls to dynamoClient.get with loader.load and automaticly switch your network calls from GetItem to BatchGetItem.
NOTE: Make sure you update your IAM policy to allow dynamodb:BatchGetItem if you have strict IAM policies
Example code
const { createDataLoader } = require('@lifeomic/dynamodb-dataloader');

// Once per request or scope that can share data access
const client = new AWS.DyanmoDB();
const loader = createDataLoader({ client });

// Once per item fetch
const item = await loader.load({
  table: 'your table name',
  key: { idAattribute: { S: 'some id' } }