Quickstart: Using the gcloud Command-Line Tool

This page shows you how to create and deploy a Cloud Function using the gcloud command-line tool.

Before you begin

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a GCP project.

    Go to the Manage resources page

  3. Make sure that billing is enabled for your project.

    Learn how to enable billing

  4. Enable the Cloud Functions API.

    Enable the API

  5. Install and initialize the Cloud SDK.
  6. Update and install gcloud components:

    Node.js 6

    gcloud components update

    Node.js 8 (Beta)

    gcloud components update &&
    gcloud components install beta

    Python (Beta)

    gcloud components update &&
    gcloud components install beta
  7. Need a command prompt? You can use the Google Cloud Shell. The Google Cloud Shell is a command line environment that already includes the Google Cloud SDK, so you don't need to install it. (The Google Cloud SDK also comes preinstalled on Google Compute Engine Virtual Machines.)

  8. Prepare your development environment.

Get the sample app

  1. Clone the sample app repository to your local machine:

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Alternatively, you can download the sample as a zip file and extract it.

    Python (Beta)

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

    Alternatively, you can download the sample as a zip file and extract it.

  2. Change to the directory that contains the Cloud Functions sample code:

    Node.js

    cd nodejs-docs-samples/functions/helloworld/

    Python (Beta)

    cd python-docs-samples/functions/helloworld/

  3. Take a look at the sample code:

    Node.js

    /**
     * HTTP Cloud Function.
     * This function is exported by index.js, and is executed when
     * you make an HTTP request to the deployed function's endpoint.
     *
     * @param {Object} req Cloud Function request context.
     *                     More info: https://expressjs.com/en/api.html#req
     * @param {Object} res Cloud Function response context.
     *                     More info: https://expressjs.com/en/api.html#res
     */
    exports.helloGET = (req, res) => {
      res.send('Hello World!');
    };

    Python (Beta)

    def hello_get(request):
        """HTTP Cloud Function.
        Args:
            request (flask.Request): The request object.
            <http://flask.pocoo.org/docs/0.12/api/#flask.Request>
        Returns:
            The response text, or any set of values that can be turned into a
            Response object using `make_response`
            <http://flask.pocoo.org/docs/0.12/api/#flask.Flask.make_response>.
        """
        return 'Hello, World!'

Deploy a function

To deploy the function with an HTTP trigger, run the following command in the helloworld directory:

Node.js 6

gcloud functions deploy helloGET --runtime nodejs6 --trigger-http

Node.js 8 (Beta)

gcloud functions deploy helloGET --runtime nodejs8 --trigger-http

Python (Beta)

gcloud functions deploy hello_get --runtime python37 --trigger-http

Test the function

  1. When the function finishes deploying, take note of the httpsTrigger's url property or find it using the following command:

    Node.js

    gcloud functions describe helloGET

    Python (Beta)

    gcloud functions describe hello_get

    It should look like this:

    Node.js

    https://GCP_REGION-PROJECT_ID.cloudfunctions.net/helloGET

    Python (Beta)

    https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello_get

  2. Visit this URL in your browser. You should see a Hello World! message.

What's next

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Functions Documentation