Cloud Endpoints APIs in API Gateway bereitstellen

Cloud Endpoints ist ein API-Verwaltungssystem, mit dem Sie Kontingente sichern, überwachen, analysieren und festlegen können für Ihre APIs. Endpoints verwendet den Extensible Service Proxy (ESP) oder den Extensible Service Proxy V2 Beta (ESPv2 Beta), um Ihre APIs zu hosten.

Wenn Sie Endpoints verwenden, haben Sie drei Möglichkeiten, Ihre API zu definieren:

APIs mit API Gateway entwickeln

API Gateway unterstützt APIs, die mit der OpenAPI-Spezifikation, Version 2.0 Das bedeutet, dass Sie Ihre OpenAPI-Spezifikationen von Endpoints in API Gateway bereitstellen können.

OpenAPI-Spezifikationen für Endpoints in API Gateway bereitstellen

API Gateway unterstützt dasselbe Format und dieselben Optionen für die Definition von OpenAPI-Spezifikationen wie Cloud Endpoints for OpenAPI. Sie können also dieselben Sicherheits-, Kontingent- und anderen Definitionen Endpoints-OpenAPI-Spezifikationen zum Definieren einer API in API Gateway.

Der einzige Unterschied zwischen Endpoints und API Gateway besteht darin, wie sie das Attribut host in der OpenAPI-Spezifikationsdefinition verarbeiten:

  • Legen Sie unter „Endpoints“ für die Property host den Hostnamen-Teil der URL fest, die beim Bereitstellen von ESP erstellt wurde. ESP ist der Dienst, mit dem Ihre Endpoints API gehostet wird.
  • In API Gateway lassen Sie host weg. oder auf den DNS-Namen der bereitgestellten API festlegen. API-Anbieter legen oft den DNS-Namen fest wenn sie die OpenAPI-Spezifikation für ihre API-Nutzer freigeben. API Gateway erzwingt jedoch nicht den Wert von host. Property.

Unten sehen Sie beispielsweise einen Teil einer OpenAPI-Spezifikation, die von Endpoints verwendet wird, um eine API für den Zugriff auf einen Backend-Dienst zu definieren, der in Cloud Run-Funktionen bereitgestellt wird:

swagger: '2.0'
info:
  title: Cloud Endpoints + GCF
  description: Sample API on Cloud Endpoints with a Google Cloud Functions backend
  version: 1.0.0
host: ESP_HOST
schemes:
  - https
produces:
  - application/json
paths:
  /hello:
  ...

Für Endpoints:

  1. Stellen Sie ESP bereit. Dadurch wird die URL erstellt, mit der Sie dann auf den ESP bereitgestellte APIs zugreifen. Beispiel:

    https://gateway-12345-uc.a.run.app
  2. Bearbeiten Sie die OpenAPI-Spezifikation, um die host-Eigenschaft auf den Domainnamen der ESP-URL festzulegen. Beispiel:

    host: gateway-12345-uc.a.run.app
  3. Stellen Sie die OpenAPI-Spezifikation für den ESP bereit.

  4. Verwenden Sie die ESP-URL, um auf Ihre API zuzugreifen. In der oben aufgeführten OpenAPI-Spezifikation ist das paths-Element auf /hello festgelegt, sodass Sie über die folgende URL auf diese API zugreifen können:

    https://gateway-12345-uc.a.run.app/hello

Wie Sie sehen, müssen Sie für Endpoints zuerst ESP bereitstellen, um den Wert des Attributs host festlegen zu können.

So erstellen Sie mit dieser API-Definition eine API-Konfiguration für API Gateway: Sie können das Attribut host entweder vollständig löschen oder in der Datei belassen. Der Wert der host-Eigenschaft wird von API Gateway nicht erzwungen.

Die URL des bereitgestellten Gateways und damit die URL, mit der Ihre Clients auf die API zugreifen, wird beim Erstellen des Gateways in folgendem Format definiert:

https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev

Dabei ist GATEWAY_ID der Name des Gateways, HASH der eindeutige Hashcode, der beim Bereitstellen der API generiert wurde, und REGION_CODE der Code für die GCP-Region ist, in der Sie das Gateway bereitgestellt haben.

Nachdem Sie eine API in einer Gateway-Instanz bereitgestellt haben, lautet die URL, über die Sie auf /hello zugreifen, dann:

https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello

Weitere Informationen zum Bereitstellen von APIs finden Sie unter API Gateway-Bereitstellungsmodell.

Weitere Informationen zum Erstellen der OpenAPI-Spezifikation für Ihre API-Definition finden Sie unter OpenAPI-Übersicht.

Nächste Schritte