Quickstart for Endpoints on App Engine Flexible Environment

This page shows you how to configure, deploy, and send requests against a sample API running on an instance in the App Engine flexible environment.

Before you begin

  1. Use the Cloud Platform Console to create a new Cloud Platform project, create an App Engine application, and enable billing:

    Go to App Engine

    When prompted, select the region where you want your App Engine application located and then enable billing.

  2. Note the ID of your project, because you'll need it later.

  3. Install cURL for testing purposes.

  4. To deploy your app with the gcloud command-line tool, you must download, install, and initialize the Google Cloud SDK:

    Download the SDK

    If you already have the gcloud tool installed and want to configure it to use a Cloud Platform project ID other than the one that you initialized it to, see Managing Cloud SDK Configurations.

Getting the sample code

Java

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples

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

  2. Change to the directory that contains the sample code:
    cd java-docs-samples/endpoints/getting-started
Python

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples

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

  2. Change to the directory that contains the sample code:
    cd python-docs-samples/endpoints/getting-started
Go

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    go get -u -d github.com/GoogleCloudPlatform/golang-samples/endpoints/getting-started
  2. Change to the directory that contains the sample code:
    cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/endpoints/getting-started
PHP

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    git clone https://github.com/GoogleCloudPlatform/php-docs-samples

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

  2. Change to the directory that contains the sample code:
    cd php-docs-samples/endpoints/getting-started
Ruby

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples

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

  2. Change to the directory that contains the sample code:
    cd ruby-docs-samples/endpoints/getting-started
NodeJS

To clone or download the sample API:

  1. Clone the sample app repository to your local machine:
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples

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

  2. Change to the directory that contains the sample code:
    cd nodejs-docs-samples/endpoints/getting-started

Configuring Endpoints

To configure Endpoints, replace YOUR-PROJECT-ID with your own project ID in the openapi.yaml configuration file's host field:

To deploy your Open API specification run:

gcloud service-management deploy openapi.yaml

This will create a new Cloud Endpoints service with the name echo-api.endpoints.YOUR-PROJECT_ID.cloud.goog if it does not exist, and then update that service's configuration to your Open API specification.

The command returns several lines of information, including a line similar to the following:

Service Configuration [2016-12-14r1] uploaded for service
"echo-api.endpoints.YOUR-PROJECT-ID.cloud.goog"

Make a note of the service name and the service configuration ID, it is used in the next step.

Edit app.yaml to reflect the Endpoints configuration ID and add the following to enable Endpoints API Management features on App Engine Flex and add the service name and configuration ID:

endpoints_api_service:
  name: echo-api.endpoints.[YOUR-PROJECT-ID].cloud.goog
  config_id: YOUR-CONFIG-ID # [2016-12-14r1] in this example.

Save the app.yaml file. You will need to repeat these steps and update the app.yaml file when you make changes to your Open API specification.

Deploying the sample API

To deploy the sample API, run the following the command from the directory where your configuration file is located:

Java
  1. Make sure you are in the java-docs-samples/endpoints/getting-started directory.
  2. Deploy using Maven:
    mvn appengine:deploy
Python
gcloud app deploy
Go
gcloud app deploy
PHP
gcloud app deploy
Ruby
gcloud app deploy
NodeJS
gcloud app deploy

Sending requests to the API

After deploying the sample API, you can send requests to it.

  1. Export an environment variable for your App Engine project URL:

    export ENDPOINTS_HOST=https://[YOUR-PROJECT-ID].appspot.com
    

    Replace [YOUR-PROJECT-ID] with your project ID.

  2. Create an API key.

    Create an API key

    1. Click Create credentials, then select API key.
    2. Copy the key, then paste it into the following export statement:

      export ENDPOINTS_KEY=AIza...
      
  3. Test an HTTP request using the curl command:

    curl -vv -L -d '{"message":"foo"}' -H 'Content-Type: application/json' "${ENDPOINTS_HOST}/echo?key=${ENDPOINTS_KEY}"
    
  4. View the activity graphs for your API in the Endpoints page.
    View Endpoints activity graphs
    It may take a few moments for the request to be reflected in the graphs.

  5. Look at the request logs for your API in the Logs Viewer page.
    View Endpoints request logs

You just deployed and tested an API in Cloud Endpoints!

Clean up

To avoid incurring charges to your Google Cloud Platform account for the resources used in this quickstart:

See Deleting an API and API Instances for information on stopping the services used by this quickstart.

What's next

Send feedback about...

Cloud Endpoints