dynamodb-storage-backend

1.1.0 • Public • Published

DynamoDB storage backend for entity-api

dynamodb-storage-backend provides DynamoDB storage for Entity API.

Installation

Using npm:

$ npm install --save dynamodb-storage-backend

Example usage

 
import AWS from 'aws-sdk'
import {
  DynamoDBStorageBackend,
  DynamoDBStorageHandler
  } from 'dynamodb-storage-backend'
 
AWS.config.update({
  region: 'eu-west1'
})
 
const DB_SCHEMAS = [
  {
    schema:  {
      TableName: 'message',
      AttributeDefinitions: [
        {
          AttributeName: 'id',
          AttributeType: 'S'
        }
      ],
      KeySchema: [
        {
          AttributeName: 'id',
          KeyType: 'HASH'
        }
      ],
      ProvisionedThroughput:  {
        ReadCapacityUnits: '1',
        WriteCapacityUnits: '1'
      }
    }
  }
]
 
const backend = new DynamoDBStorageBackend({
    dynamodb: new AWS.DynamoDB({
      // Dynamodb endpoint to be used. This uses Dynamodb local
      endpoint: new AWS.Endpoint('http://localhost:8000')
    })
})
 
class MessageEntityType extends EntityType {
 
  constructor(variables = {}) {
    variables.entityTypeId = 'message'
    variables.entityClass = MessageEntity
    variables.handlers = {
      storage: new DynamoDBStorageHandler({
        tablePrefix: 'entity_',
        storage: backend,
        schemaData: DB_SCHEMAS
      }),
      view: new EntityViewHandler(variables),
    }
    super(variables)
  }
}
 

Test

Run tests using npm:

$ npm run test

Readme

Keywords

Package Sidebar

Install

npm i dynamodb-storage-backend

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

64 kB

Total Files

15

Last publish

Collaborators

  • tobiasrask