Men-deploy API Cloud Endpoints di API Gateway
Cloud Endpoints adalah sistem pengelolaan API yang membantu Anda mengamankan, memantau, menganalisis, dan menetapkan kuota pada API Anda. Endpoints menggunakan Extensible Service Proxy (ESP) atau Extensible Service Proxy V2 Beta (ESPv2 Beta) untuk menghosting API Anda.
Saat menggunakan Endpoints, Anda memiliki tiga opsi untuk menentukan API:
- Cloud Endpoints untuk OpenAPI
- Cloud Endpoints untuk gRPC
- Framework Cloud Endpoints untuk lingkungan standar App Engine
Mengembangkan API dengan API Gateway
Endpoints dan API Gateway mendukung API yang dideskripsikan menggunakan spesifikasi OpenAPI, OpenAPI 2.0 atau OpenAPI 3.x. Jika Anda telah menggunakan OpenAPI untuk menentukan API Endpoints, berarti Anda juga dapat men-deploy API Endpoints di API Gateway.
Men-deploy spesifikasi OpenAPI Endpoints di API Gateway
API Gateway mendukung format dan opsi definisi spesifikasi OpenAPI yang sama seperti yang didukung oleh Cloud Endpoints untuk OpenAPI. Artinya, Anda dapat menggunakan keamanan, kuota, dan definisi lainnya yang sama dari spesifikasi OpenAPI Endpoints untuk menentukan API di API Gateway.
Satu-satunya perbedaan antara Endpoints dan API Gateway adalah cara keduanya memproses properti host dalam definisi spesifikasi OpenAPI:
- Di Endpoints, tetapkan properti
hostke bagian nama host dari URL yang dibuat saat Anda men-deploy ESP, dengan ESP adalah layanan yang digunakan untuk menghosting Endpoints API Anda. - Di API Gateway, hapus
hostatau tetapkan ke nama DNS API yang di-deploy. Penyedia API sering menyetelnya ke nama DNS saat membagikan spesifikasi OpenAPI kepada konsumen API mereka. Namun, API Gateway tidak menerapkan nilai propertihost.
Misalnya, berikut adalah sebagian definisi OpenAPI yang digunakan oleh Endpoints untuk menentukan API guna mengakses layanan backend yang di-deploy pada fungsi Cloud Run:
OpenAPI 2.0
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: HOST schemes: - https ...
OpenAPI 3.x
openapi: 3.0.4 info: title: Cloud Endpoints + GCF description: Sample API on Cloud Endpoints with a Google Cloud Functions backend version: 1.0.0 servers: - url: https://HOST x-google-endpoint: {} ...
Saat menggunakan Endpoints untuk men-deploy API, Anda:
Deploy Vertex AI Search atau ESPv2 Beta, yang membuat URL yang kemudian Anda gunakan untuk mengakses API yang di-deploy. Contoh:
https://gateway-12345-uc.a.run.app
Edit spesifikasi OpenAPI untuk menetapkan properti
host(di OpenAPI 2.0) atauservers.url(di OpenAPI 3.x) ke nama domain URL Vertex AI Search atau ESPv2 Beta. Contohnyahost: gateway-12345-uc.a.run.app
Deploy definisi OpenAPI ke Vertex AI Search atau ESPv2 Beta.
Akses API Anda menggunakan URL Vertex AI Search atau ESPv2 Beta. Dalam definisi OpenAPI sebelumnya, elemen
pathsditetapkan ke/hellosehingga Anda dapat mengakses API ini menggunakan URL berikut:https://gateway-12345-uc.a.run.app/hello
Untuk menggunakan definisi API yang sama guna membuat konfigurasi API untuk API Gateway, Anda dapat menghapus properti host atau servers.url sepenuhnya, atau membiarkannya di file.
API Gateway tidak menerapkan nilai properti host.
URL gateway yang di-deploy, dan oleh karena itu URL yang digunakan klien Anda untuk mengakses API Anda, ditentukan saat Anda membuat gateway, dalam bentuk:
https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev
dengan GATEWAY_ID adalah nama gateway, HASH adalah kode hash unik yang dihasilkan saat Anda men-deploy API, dan REGION_CODE adalah kode untuk Google Cloud region tempat Anda men-deploy gateway.
Setelah Anda men-deploy API ke instance gateway, URL yang Anda gunakan untuk mengakses /hello adalah:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello
Untuk mengetahui informasi selengkapnya tentang men-deploy API, lihat Model Deployment API Gateway.
Untuk mengetahui informasi selengkapnya tentang cara membuat spesifikasi OpenAPI untuk definisi API Anda, lihat Ringkasan OpenAPI.