Giter Club home page Giter Club logo

serverless-azure-functions's Introduction

Azure Functions Serverless Plugin

This plugin enables Azure Functions support within the Serverless Framework.

Getting started

Pre-requisites

  1. Node.js v6.5.0+ (this is the runtime version supported by Azure Functions)
  2. Serverless CLI v1.9.0+. You can run npm i -g serverless if you don't already have it.
  3. An Azure account. If you don't already have one, you can sign up for a free trial that includes $200 of free credit.

Create a new Azure service

  1. Create a new service using the standard Node.js template, specifying a unique name for your app: serverless create -t azure-nodejs -p <appName>
  2. CD into the generated app directory: cd <appName>
  3. Install the app's NPM dependencies, which includes this plugin: npm install

Deploy, test, and diagnose your Azure service

  1. Deploy your new service to Azure! The first time you do this, you will be asked to authenticate with your Azure account, so the serverless CLI can manage Functions on your behalf. Simply follow the provided instructions, and the deployment will continue as soon as the authentication process is completed.

    serverless deploy

    Note: Once you've authenticated, a new Azure "service principal" will be created, and used for subsequent deployments. This prevents you from needing to manually login again. See below if you'd prefer to use a custom service principal instead.

  2. Invoke a function, in order to test that it works:

    serverless invoke -f hello
  3. Stream the output logs for your function:

    serverless logs -f hello
  4. Make some code changes, deploy again, view logs, etc. and provide us feedback on how to make the experience even better!

    Note: If you're working on a single function, you can use the serverless deploy function -f <function> command instead of serverless deploy, which will simply deploy the specified function instead of the entire service.

If at any point, you no longer need your service, you can run the following command to remove the Azure Functions that were created, and ensure you don't incur any unexpected charges:

serverless remove

Advanced Authentication

The getting started walkthrough illustrates the interactive login experience, which is recommended for most users. However, if you'd prefer to create an Azure "service principal" yourself, you can indicate that this plugin should use its credentials instead, by setting the following environment variables:

Bash

export azureSubId='<subscriptionId>'
export azureServicePrincipalTenantId='<tenantId>'
export azureServicePrincipalClientId='<servicePrincipalName>'
export azureServicePrincipalPassword='<password>'

Powershell

$env:azureSubId='<subscriptionId>'
$env:azureServicePrincipalTenantId='<tenantId>'
$env:azureServicePrincipalClientId='<servicePrincipalName>'
$env:azureServicePrincipalPassword='<password>'

Contributing

Please create issues in this repo for any problems or questions you find. Before sending a PR for any major changes, please create an issue to discuss.

We're still in the process of getting everying running 100%, but please refer to the Serverless contributing guidlines for information on how to contribute and code of conduct.

License

MIT

serverless-azure-functions's People

Contributors

ac360 avatar aidanmorgan avatar brunonunes avatar elmundio87 avatar fiveisprime avatar itaym2 avatar lostintangent avatar pragnagopa avatar thomaswmanion avatar trane9991 avatar vjrantal avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.