/cloud-functions-emulator

A local emulator for Google Cloud Functions that allows you to deploy, run, and debug your Cloud Functions on your local machine before deploying them to the production Google Cloud Functions service.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Google Inc. logo

Google Cloud Functions Emulator

NPM Tests Coverage

Disclaimer: This is not an official Google product.

Table of Contents

What is the Google Cloud Functions Emulator?

The Google Cloud Functions Emulator is a Node.js application that implements the Google Cloud Functions API, and includes a CLI with which you can manage the application.

The Emulator allows you to deploy, run, and debug your Cloud Functions on your local machine before deploying them to the production Google Cloud Functions service.

Note

The Emulator only supports Node v6.x.x. It does not support Node v8.x.x or Python.

How do I get started?

  1. Write a function:

     mkdir helloWorld
     cd helloWorld
     touch index.js
     echo 'exports.helloWorld = (req, res) => res.send("Hello, World!");' > index.js
    
  2. Install the Emulator:

    NPM:

     npm install -g @google-cloud/functions-emulator
    

    Yarn:

     yarn global add @google-cloud/functions-emulator
    

    Or read more in the detailed installation instructions.

  3. Start the Emulator:

     functions start
    
  4. Deploy your function:

     functions deploy helloWorld --trigger-http
    

    Get help deploying a function with functions deploy --help.

  5. Call your function:

     functions call helloWorld
    
  6. View the logs:

     functions logs read
    

Where is the documentation?

For a quick reference, the Emulator CLI is self-documenting. Run the following to get help with the CLI:

functions --help

For everything else see the How-To Guides.

Contributing

To give feedback, report a bug, or request a feature, please open an issue.

To contribute a change, check out the contributing guide.

License

Copyright 2017, Google, Inc.

Licensed under the Apache License, Version 2.0

See the full license.