owc
v1.0.29
Published
a lightweight web service framework for aws lambda
Downloads
155
Maintainers
Readme
A lightweight MVC web service framework for AWS lambda
Contents:
Release Notes:
1.0.21
Added S3 support
Added "owc.aws.invoke" method to invoke any methods in aws-sdk
1.0.19
Added DynamoDB support
Added atomic operations for redis
Added unit test scripts for redis and dynamodb
1. Installation
Please install owc-cli to generate project, modules, models, etc. Please refer to this link:
https://www.npmjs.com/package/owc-cli
2. File structure
3. Model
Once you generate a model for a table, you are able to query against database like below:
let users = await User.find().where({id : 10, status : 1}).all();
let user = await User.findByPk(10);
let user = await User.find().where({id:10}).one();
let ret = await user.save();
4. Database
owc supports mysql and mysql compatible aurora database. It also allows you to set up master and slaves database.
You can run raw sql by passing sql commands and bind parameters into below functions:
owc.db.query(sql, bind, transaction = null)
owc.db.queryAll(sql, bind, transaction = null)
5. Cache
owc supports memcached and redis. Redis also supports master and slaves mode.
6. ElasticSearch
owc can create elasticsearch model for each table in mysql database. You can query elasticsearch like a database.
For example, you can search like below:
let users = await User.find().where({id : 10, status : 1}).all();
6. AWS
OWC added built in libraries for some AWS services:
- Cognito (Admin actions)
- DynamoDB (put item, get item, describe table, delete item, update item, query and scan table)
- ParameterStore (put parameter, get parameter, get parameters, delete parameter)
- SecretsManager (create secrets, get secrets)
- SimpleEmailService (send email without attachment)
- SimpleQueueService (push message to queue, delete message)
- S3
- You can still use "owc.aws.invoke" to invoke any services that haven't been implemented.
7. Log
owc supports winston and console log