moleculer-db-adapter-dynamodb

2.0.0 • Public • Published

moleculer-db-adapter-dynamodb NPM version

DynamoDB adapter for Moleculer DB service with dynamodb.

Features

Install

npm install moleculer-db-adapter-dynamodb --save

You have to install additional packages for creating model:

npm install dynamodb --save

Usage

'use strict';

const { ServiceBroker } = require('moleculer');
const DbService = require('moleculer-db');
const DynamoAdapter = require('moleculer-db-adapter-dynamodb');
const dynamodb = require('dynamodb');
const Joi = require('joi');

const broker = new ServiceBroker();

// Create a dynamodb service for `post` entities
broker.createService({
  name: 'posts',
  mixins: [DbService],
  adapter: new DynamoAdapter({
  aws:{
    accessKeyId: '', // your id here
    secretAccessKey: '', // your key here
    region: '', // your region here
  }}),
  model: dynamodb.define('Post', {
  hashKey: "id",
  schema: {
    id: dynamodb.types.uuid(),
    title: Joi.string().required(),
    content: Joi.string().required(),
    votes: Joi.number(),
    }
  }),
});

broker
  .start()
  // Create a new post
  .then(() =>
    broker.call('posts.create', {
      title: 'My first post',
      content: 'Lorem ipsum...',
      votes: 0,
    }),
  )

  // Get all posts
  .then(() => broker.call('posts.find').then(console.log));

Options

Every constructor arguments are passed to the aws-sdk config . Read more about aws sdk.

Example with connection options

new DynamoAdapter({
  accessKeyId: '', // your id here
  secretAccessKey: '', // your key here
  region: '', // your region here
});

Test

npm test

In development with watching

npm run watch:test

License

The project is available under the MIT license.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.0.0
    0
    • latest

Version History

Package Sidebar

Install

npm i moleculer-db-adapter-dynamodb

Weekly Downloads

0

Version

2.0.0

License

none

Unpacked Size

12.3 kB

Total Files

10

Last publish

Collaborators

  • katsanva