dynamodb-eventstore v0.1.0
dynamodb-eventstore
Stability: 1 - Experimental
Store events in DynamoDb.
Installation
npm install dynamodb-eventstoreTests
Unit Tests
npm testIntegration "sanity check" Test
npm run-script integrationGiven DYNAMODB_ES_TEST_ACCESS_KEY_ID and DYNAMODB_ES_TEST_SECRET_ACCESS_KEY are present in the environment, will attempt to insert {foo: "bar"} into the event store. If an error occurs, result will be:
error
doneOn success, result will be:
doneOverview
DynamoDbEventStore is a simple client to store events in a DynamoDb table. It turns a JavaScript object into JSON and stores it under a unique key related to client time.
var DynamoDbEventStore = require('dynamodb-eventstore');
var es = new DynamoDbEventStore({
accessKeyId: "ACCESS",
region: "us-east-1",
dynamoDbTable: "all-events",
secretAccessKey: "SECRET"
});
es.put({my: "event"}, function (error) {
if (error) console.log('put failed :/');
});DynamoDb table shall be set to have a Hash key only with name key and type String.
Event keys look like following example: 20130927T005240652508858176.
Events are stored as JSON strings in a String column named body. For example:
es.put({my: "event"});
// results in:
// key | body
// 20130927T005240652508858176 | {"my":"event"}
// (both columns are of type String)Documentation
DynamoDbEventStore
Public API
new DynamoDbEventStore(options)
options:AWS: Object (Default:require('aws-sdk');) An instance ofaws-sdk.accessKeyId: String AWS access key ID.region: String The region to send service requests to.dynamoDbTable: String The name of DynamoDB table to use for event store.secretAccessKey: String AWS secret access key.sslEnabled: Boolean (Default: true) Whether to enable SSL for requests.
Creates a new DynamoDbEventStore instance.
dynamoDbEventStore.put(event, callback)
event: Object JavaScript object representing the event to store.callback: Function (Default: undefined) An optional callback to call on success or failure.
Attempts to store the event in DynamoDb. If a callback is provided it will be called with error set to true if an error occurs or with no parameters otherwise.
dynamoDbEventStore.put({foo: 'bar'}, function (error) {
if (error) console.log('put failed :/');
});Event ~trace
message: String Trace message.
Emitted to trace internal execution of DynamoDbEventStore instance.
12 years ago
