Cloud Endpoints APIs auf API Gateway bereitstellen

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

Bei der Verwendung von Endpoints haben Sie drei Möglichkeiten, Ihre API zu definieren:

APIs mit dem API-Gateway entwickeln

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

Endpoints-OpenAPI-Spezifikationen auf API-Gateway bereitstellen

API Gateway unterstützt das gleiche OpenAPI-Spezifikationsformat und die gleichen Optionen wie Cloud Endpoints für OpenAPI. Dies bedeutet, dass Sie für die API in API Gateway dieselben Sicherheits-, Kontingent- und anderen Definitionen aus den Endpoints OpenAPI-Spezifikationen verwenden können.

Der einzige Unterschied zwischen Endpoints und API Gateway besteht darin, wie das Attribut host in der Definition der OpenAPI-Spezifikation verarbeitet wird:

  • Legen Sie in Endpoints das Attribut host auf den Hostnamen-Teil der URL fest, die bei der Bereitstellung des ESP erstellt wurde, wobei ESP der Dienst ist, der zum Hosten der Endpoints-API verwendet wird.
  • Lassen Sie in API Gateway den Wert für host weg oder legen Sie ihn auf den DNS-Namen der bereitgestellten API fest. API-Anbieter legen häufig den DNS-Namen fest, wenn sie die OpenAPI-Spezifikation für ihre API-Nutzer freigeben. API Gateway erzwingt jedoch nicht den Wert des Attributs host.

Im Folgenden sehen Sie ein Beispiel für eine OpenAPI-Spezifikation, die von Endpoints verwendet wird, um eine API für den Zugriff auf einen Back-End-Dienst in Cloud Functions zu definieren:

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 das Attribut host auf den Domainnamen der ESP-URL festzulegen. Beispiel:

    host: gateway-12345-uc.a.run.app
  3. Stellen Sie die OpenAPI-Spezifikation im ESP bereit.

  4. Greifen Sie über die ESP-URL auf Ihre API zu. In der obigen OpenAPI-Spezifikation ist das Element paths 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, muss für Endpoints zuerst der ESP bereitgestellt werden, damit er den Wert des Attributs host festlegen kann.

Wenn Sie diese API-Definition zum Erstellen einer API-Konfiguration für API Gateway verwenden möchten, können Sie entweder das Attribut host vollständig löschen oder die Datei in der Datei belassen. API Gateway erzwingt nicht den Wert des Attributs host.

Die URL des bereitgestellten Gateways und damit die URL, die Ihre Clients für den Zugriff auf Ihre API verwenden, wird beim Erstellen des Gateways in folgender Form 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 für eine Gatewayinstanz bereitgestellt haben, lautet die URL, mit der Sie auf /hello zugreifen, so:

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