HTTP triggers (1st gen)

In Cloud Functions, an HTTP trigger enables a function to run in response to HTTP(S) requests. When you specify an HTTP trigger for a function, the function is assigned a URL at which it can receive requests. HTTP triggers support the GET, POST, PUT, DELETE, and OPTIONS request methods.

By default, requests to a function with an HTTP trigger require authentication. You can choose to allow unauthenticated calls during deployment. See Allowing unauthenticated HTTP function invocation for more information.

You use HTTP functions to implement Cloud Functions that can handle general HTTP(S) requests.

Deployment

You can specify an HTTP trigger when you deploy a function. See Deploy a Cloud Function for general instructions on how to deploy a function, and this section for additional information specific to configuring HTTP triggers during deployment.

gcloud

If you are deploying using the gcloud CLI, the flags shown here are used to configure HTTP triggers:

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-http \
[--allow-unauthenticated] \
[--security-level=SECURITY_LEVEL] \
...
  • The --trigger-http flag specifies that the function uses an HTTP trigger.
  • The --allow-unauthenticated flag specifies that the function can be called without authentication. Omitting this flag means that calls to the function require authentication. See Authenticating for invocation for more information.
  • The --security-level flag controls whether the function endpoint requires HTTPS. The value secure-always means HTTPS is required and non-SSL HTTP requests are not supported. The value secure-optional means both HTTP and HTTPS are supported. The default is secure-always.

Console

If you are deploying using the Google Cloud console, you can configure an HTTP trigger in the Trigger section:

  1. In the Trigger type field, select HTTP.
  2. In the Authentication field, select an option depending on whether you want to allow unauthenticated invocations of your function. By default, authentication is required. See Authenticating for invocation for more information.
  3. Select or clear the Require HTTPS checkbox to control whether the function endpoint requires HTTPS. If deselected, both HTTP and HTTPS are supported.

Function URL

After your function is deployed with an HTTP trigger, you can retrieve its assigned URL.

Cloud Functions have assigned URLs that have the following format. These URLs have a deterministic format, meaning that you can predict what the URL will be before you deploy the function:

https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME

You can retrieve your function's URL(s) as follows:

gcloud

  gcloud functions describe YOUR_FUNCTION_NAME 
--format="value(httpsTrigger.url)"

Console

  1. Go to the Cloud Functions overview page in the Google Cloud console:

    Go to Cloud Functions

  2. Click the name of the function whose URL you want to retrieve.

  3. Click the Edit tab.

  4. View your function's URL in the Trigger section.

Next steps