Skip to content

Latest commit

 

History

History
executable file
·
85 lines (60 loc) · 1.41 KB

serverless.md

File metadata and controls

executable file
·
85 lines (60 loc) · 1.41 KB

Where microservices break up monolithic apps... Serveless breaks up microservices into independent functions.

AWS Lambda/Serverless

# Install
npm install -g serverless

# Initialize (Setup AWS credentials)
serverless

# Deploy code
serverless deploy

# Call API
curl https://pv2vfelg5j.execute-api.us-east-1.amazonaws.com/dev/api

Code

npm install express aws-serverless-express

api.js

const express = require("express");

router.get("/", (req, res) => {
    res.status(200).json({ foo: "bar" });
});

module.exports = router;

app.js

const express = require("express");
const cors = require("cors");

let api = require("./api");

const app = express();

app
    .use(cors());
    .use(express.json())
    .use(api);

module.exports = app;

handler.js

const awsServerlessExpress = require("aws-serverless-express");
const app = require("./app");

const server = awsServerlessExpress.createServer(app);

exports.handler = (event, context) => {
    return awsServerlessExpress.proxy(server, event, context);
};

serverless.yml

service: api

provider:
    name: aws
    runtime: nodejs12.x

functions:
    app-api:
        handler: handler.handler
        events:
            - http:
                  path: /
                  method: get
                  cors: true