A lightweight MVC web service framework for AWS lambda
Contents:
Release Notes:
1.0.21
1.0.19
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