Cloud Endpoints APIs in API Gateway bereitstellen
Cloud Endpoints ist ein API-Verwaltungssystem, mit dem Sie Ihre APIs schützen, überwachen, analysieren und Kontingente dafür festlegen können. Endpoints verwendet zum Hosten Ihrer APIs den Extensible Service Proxy (ESP) oder Extensible Service Proxy V2 Beta (ESPv2 Beta).
Wenn Sie Endpoints verwenden, haben Sie drei Möglichkeiten, die API zu definieren:
- Cloud Endpoints für OpenAPI
- Cloud Endpoints for gRPC
- Cloud Endpoints Frameworks für die App Engine-Standardumgebung
APIs mit API Gateway entwickeln
API Gateway unterstützt APIs, die mit der OpenAPI-Spezifikation 2.0 beschrieben werden. Das bedeutet, dass Sie Ihre OpenAPI-Spezifikationen über Endpoints auf API Gateway bereitstellen können.
Endpoints-OpenAPI-Spezifikationen in API Gateway bereitstellen
API Gateway unterstützt dasselbe Format und dieselben Optionen für die OpenAPI-Spezifikationsdefinition, die auch von Cloud Endpoints für OpenAPI unterstützt werden. Das bedeutet, dass Sie dieselben Sicherheits-, Kontingent- und anderen Definitionen aus Ihren Endpoints OpenAPI-Spezifikationen verwenden können, um eine API in API Gateway zu definieren.
Der einzige Unterschied zwischen Endpoints und API Gateway besteht darin, wie das Attribut host
in der OpenAPI-Spezifikationsdefinition verarbeitet wird:
- Legen Sie in Endpoints das Attribut
host
auf den Hostnamen der URL fest, die bei der Bereitstellung des ESP erstellt wurde. Dabei ist ESP der Dienst, der zum Hosten Ihrer Endpoints API verwendet wird. Lassen Sie in API Gateway den
host
weg oder legen Sie ihn auf den DNS-Namen der bereitgestellten API fest. API-Anbieter geben dafür häufig den DNS-Namen an, wenn sie die OpenAPI-Spezifikation mit ihren API-Nutzern teilen. In API Gateway wird der Wert des Attributshost
jedoch nicht erzwungen.
Das folgende Beispiel zeigt einen Teil einer OpenAPI-Spezifikation, die von Endpoints verwendet wird, um eine API für den Zugriff auf einen in Cloud Functions bereitgestellten Back-End-Dienst 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:
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
Bearbeiten Sie die OpenAPI-Spezifikation, um das Attribut
host
auf den Domainnamen der ESP-URL festzulegen. Beispiel:host: gateway-12345-uc.a.run.app
Stellen Sie die OpenAPI-Spezifikation für den ESP bereit.
Greifen Sie über die ESP-URL auf die API zu. In der obigen OpenAPI-Spezifikation ist das
paths
-Element auf/hello
gesetzt, 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 den ESP bereitstellen, um den Wert des Attributs host
festlegen zu können.
Wenn Sie diese API-Definition zum Erstellen einer API-Konfiguration für API Gateway verwenden möchten, können Sie das Attribut host
entweder vollständig löschen oder in der Datei belassen.
In API Gateway wird der Wert des Attributs host
nicht erzwungen.
Die URL des bereitgestellten Gateways und damit die URL, mit der Ihre Clients auf die API zugreifen, werden 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 für eine Gateway-Instanz bereitgestellt haben, lautet die URL, über die 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 in der OpenAPI-Übersicht.