Azure Function Express Save

⚡️Allows Express.js usage with Azure Functions

Project README
Supported by Hapticmedia

azure-function-express

Function logo

Allows Express usage with Azure Function

npm version Node NodeNodeTravis Status Coverage Status MIT licensed

Description

Connect your Express application to an Azure Function handler, and make seamless usage of all middlewares you are already familiar with.

Usage

In your index.js:

const createHandler = require("azure-function-express").createHandler;
const express = require("express");

// Create express app as usual
const app = express();
app.get("/api/:foo/:bar", (req, res) => {
  res.json({
    foo  : req.params.foo,
    bar  : req.params.bar
  });
});

// Binds the express app to an Azure Function handler
module.exports = createHandler(app);

Make sure you are binding req and res in your function.json:

{
  "bindings": [{
    "authLevel" : "anonymous",
    "type"      : "httpTrigger",
    "direction" : "in",
    "name"      : "req",
    "route"     : "foo/{bar}/{id}"
  }, {
    "type"      : "http",
    "direction" : "out",
    "name"      : "res"
  }]
}

To allow Express handles all HTTP routes itself you may set a glob star route in a single root function.json:

{
  "bindings": [{
    "authLevel" : "anonymous",
    "type"      : "httpTrigger",
    "direction" : "in",
    "name"      : "req",
    "route"     : "{*segments}"
  }, {
    "type"      : "http",
    "direction" : "out",
    "name"      : "res"
  }]
}

Note that segments is not used and could be anything. See Azure Function documentation.

All examples here.

Context

All native Azure Functions context properties, except done, are exposed through req.context.

As en example, you can log using:

app.get("/api/hello-world", (req, res) => {
  req.context.log({ hello: "world" });
  ...
});

Runtime compatibility

Supported Node version are:

Azure Functions runtime v1 and v2 beta are both supported.

License

Apache 2.0 © Yves Merlicco

Open Source Agenda is not affiliated with "Azure Function Express" Project. README Source: yvele/azure-function-express
Stars
160
Open Issues
16
Last Commit
6 months ago
License

Open Source Agenda Badge

Open Source Agenda Rating