Cloud Functions

Deploy a simple HTTP function.
Cloud Function is a scalable, pay as you go, Functions-as-a-Service (FaaS).
Spring Cloud Functions has pre-GA support for Cloud Functions for Java 11. See Spring Cloud Functions Reference Documentation for more details.
This guide currently uses a non-Spring example for Cloud Functions.

Getting Started

Clone

cd $HOME
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/functions/helloworld/helloworld

Build

mvn package

Run Locally

mvn function:run
# In a different tab, trigger the function:
curl localhost:8080

Deploy

Enable API

gcloud services enable cloudfunctions.googleapis.com

Deploy

gcloud functions deploy helloworld --trigger-http \
--runtime=java11 \
--entry-point=functions.HelloWorld \
--allow-unauthenticated

Connect

Once a HTTP function is deployed, you can connect to it using curl. You can also find the URL:
gcloud functions describe helloworld --format='value(httpsTrigger.url)'
Trigger the function with curl:
URL=$(gcloud functions describe helloworld --format='value(httpsTrigger.url)')
curl ${URL}
Alternatively, you can also use gcloud:
gcloud functions call helloworld

Additional Configurations

By default, Cloud Functions will deploy to the smallest 256MB instance. You can specify a larger instance and configure environment variables with the gcloud CLI:
gcloud functions deploy helloworld --trigger-http \
--runtime=java11 \
--memory=512M
--entry-point=functions.HelloWorld \
--allow-unauthenticated

Learn More