All Projects → vandium-io → Vandium Node

vandium-io / Vandium Node

Licence: bsd-3-clause
AWS Lambda framework for building functions using Node.js for API Gateway, IoT applications, and other AWS events.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vandium Node

Zappa
Serverless Python
Stars: ✭ 11,859 (+3045.62%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+689.66%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Flogo
Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.
Stars: ✭ 1,891 (+401.59%)
Mutual labels:  serverless, aws-lambda, lambda, iot
Serverless Sinatra Sample
Demo code for running Ruby Sinatra on AWS Lambda
Stars: ✭ 195 (-48.28%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-86.47%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (+25.99%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Serverless Express
Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB.
Stars: ✭ 4,265 (+1031.3%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Serverless Sharp
Serverless image optimizer for S3, Lambda, and Cloudfront
Stars: ✭ 102 (-72.94%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Zappa
Serverless Python
Stars: ✭ 224 (-40.58%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Corgi
AWS Lambda / API Gateway native, fast and simple web framework
Stars: ✭ 44 (-88.33%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+2138.46%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Aegis
Serverless Golang deploy tool and framework for AWS Lambda
Stars: ✭ 277 (-26.53%)
Mutual labels:  api-gateway, serverless, aws-lambda, lambda
Aws Lambda Fastify
Insipired by aws-serverless-express to work with Fastify with inject functionality.
Stars: ✭ 190 (-49.6%)
Mutual labels:  api-gateway, serverless, lambda
Serverless Aws Alias
Alias support for Serverless 1.x
Stars: ✭ 171 (-54.64%)
Mutual labels:  api-gateway, serverless, aws-lambda
Grant
OAuth Proxy
Stars: ✭ 3,509 (+830.77%)
Mutual labels:  serverless, aws-lambda, lambda
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+496.02%)
Mutual labels:  api-gateway, serverless, lambda
Yoyo
A dead simple comment engine built on top of AWS lambda and React, alternative comment service to Disqus.
Stars: ✭ 210 (-44.3%)
Mutual labels:  api-gateway, serverless, aws-lambda
shim
HTTP Handler shim for Go projects running on AWS Lambda
Stars: ✭ 64 (-83.02%)
Mutual labels:  lambda, aws-lambda, api-gateway
super-serverless-sample
Backend serverless que simula o sistema de votação do BBB
Stars: ✭ 30 (-92.04%)
Mutual labels:  lambda, aws-lambda, api-gateway
Apilogs
Easy logging and debugging for Amazon API Gateway and AWS Lambda Serverless APIs
Stars: ✭ 216 (-42.71%)
Mutual labels:  api-gateway, aws-lambda, lambda

Vanidum

Build Status npm version

AWS Lambda framework for building functions using Node.js for API Gateway, IoT applications, and other AWS events.

Features

  • Simplifies writing lambda handlers
  • Automatically verifies event types
  • Powerful input validation
  • Works with Serverless
  • JSON Web Token (JWT) verification and validation
  • JWK support for retrieving keys at startup
  • Automatic loading of environment variables from SSM Parameter Store
  • Cross Site Request Forgery (XSRF) detection when using JWT
  • SQL Injection (SQLi) detection and protection
  • Lambda Proxy Resource support for AWS API Gateway
  • Handler initialization for allocating resources
  • Post handler execution to allow deallocation of resources
  • Forces values into correct types
  • Handles uncaught exceptions
  • Promise support
  • Automatically trimmed strings for input event data
  • Low startup overhead
  • AWS Lambda Node.js 12.x

Installation

Install via npm.

npm install vandium --save

Getting Started

Vandium creates event specific handlers to reduce the amount of code than one needs to maintain. The following handler code will respond with a message when executed using the AWS API Gateway with a GET request:

const vandium = require( 'vandium' );

// handler for an api gateway event
exports.handler = vandium.api()
		.GET( (event) => {

			// return greeting
			return 'Hello ' + event.pathParmeters.name + '!';
		});

The framework can process asynchronous responses using promises. The following code returns a User object from a datastore asynchronously:

const vandium = require( 'vandium' );

// our datastore access object
const Users = require( './users' );

// handler for an api gateway event
exports.handler = vandium.api()
		.GET()
		 	.validation({

				pathParmeters: {

					name: 'string:min=1,max=100,required'
				}
			})
			.handler( async (event) => {

				// returns a promise that resolves the User by name
				return await Users.getUser( event.pathParmeters.name );
			});

Additionally, resources can be closed at the end, success or failure, of the handler. Failure to close resources might cause the lambda function to timeout or run for longer than is required. The following code demonstrates closing a cache after the handler has been called:

const vandium = require( 'vandium' );

// our datastore access object
const Users = require( './users' );

// object caching - automatically connects on first access
const cache = require( './cache' );

// handler for an api gateway event
exports.handler = vandium.api()
		.GET((event) => {

			// returns a promise that resolves the User by name
			return Users.getUser( event.pathParmeters.name );
		})
		.finally( () => {

			// returns a promise that closes the cache connection
			return cache.close();
		});

Vandium supports the following types of AWS Lambda events:

  • API Gateway
  • Cloudformation
  • Cloudwatch
  • Cognito
  • Dynamodb
  • Kinesis
  • Alexa
  • S3
  • Scheduled
  • SES
  • SNS

Documentation

For documentation on how to use vandium in your project, please see our documentation page.

Feedback

We'd love to get feedback on how to make this tool better. Feel free to contact us at [email protected]

License

BSD-3-Clause

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].