@map-aggregate/storage
v0.0.1-alpha.18
Published
The storage framework provides an interface for interacting with time-series data streams in DynamoDB on AWS Lambda. It is important to note that this library is designed to run with the AWS Lambda SDK available at runtime. Moreover, your lambda must have
Downloads
8
Readme
Map-Aggregate Storage
The storage framework provides an interface for interacting with time-series data streams in DynamoDB on AWS Lambda, consistent with the Map-Aggregate design. It is important to note that this library is designed to run with the AWS Lambda SDK available at runtime. Moreover, your lambda must have permission to access DynamoDB in order to work.
Example
const Storage = require("@map-aggregate/storage");
const storage = await new Storage("us-east-1", "inference");
await storage.append("Living Room", { humidity: 60 });
Constructor
The constructor returns an asynchronous promise. The constructor accepts
two parameters: region
and table
. region
is the region in where the DynamoDB
instances are located, and table
is the base name of the table that will be
used by this Storage Lambda instance. It is important to note that two tables will
actually be created: [table]-data
and [table]-auth
. That is, if table
is
called "inference", then two tables will be created: "inference-data" and
"inference-auth".
Read
| Method | Description |
| ------------------------------------------- | ------------------------------------------------------------ |
| getLatest(key)
| Get the latest value stored for a specific data stream |
| getAll(key)
| Get all the time-sorted values for a data stream |
| getAllInInterval(key, startTime, endTime)
| Get all values of a data stream within a specific time range |
Write
| Method | Description |
| ------------------------ | ----------------------------------------------- |
| update(key, id, value)
| Update the value of an entry in the data stream |
| append(key, value)
| Append an entry to the specified data stream |
Access
| Method | Description |
| --------------- | ---------------------------------------- |
| grant(appId)
| Authorize an app |
| revoke(appId)
| Revoke authorization granted to an appid |
Delete
| Method | Description |
| ----------------------- | --------------------- |
| deleteDataStream(key)
| Delete a data stream |
| deleteDataTable()
| Delete the data table |
| deleteAuthTable()
| Delete the auth table |