Men-deploy Cloud Endpoints API di Gateway API
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 Endpoint, 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 Gateway API
Gateway API mendukung API yang dijelaskan menggunakan spesifikasi OpenAPI, versi 2.0. Artinya, Anda dapat men-deploy spesifikasi OpenAPI dari Endpoint di Gateway API.
Men-deploy spesifikasi OpenAPI Endpoints di Gateway API
Gateway API 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 lain yang sama dari spesifikasi OpenAPI Endpoint Anda untuk menentukan API di Gateway API.
Satu-satunya perbedaan antara Endpoint dan Gateway API adalah cara keduanya memproses properti host
dalam definisi spesifikasi OpenAPI:
- Di Endpoint, tetapkan properti
host
ke bagian nama host URL yang dibuat saat Anda men-deploy ESP. Di sini, ESP adalah layanan yang digunakan untuk menghosting Endpoint API Anda. Di Gateway API, hapus
host
atau tetapkan ke nama DNS dari API yang di-deploy. Penyedia API sering kali menetapkannya ke nama DNS ketika membagikan spesifikasi OpenAPI dengan konsumen API. Namun, Gateway API tidak menerapkan nilai propertihost
.
Misalnya, gambar di bawah ini adalah bagian dari spesifikasi OpenAPI yang digunakan oleh Endpoint untuk menentukan API guna mengakses layanan backend yang di-deploy di Cloud Functions:
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: ...
Untuk Endpoint, Anda:
Deploy ESP, yang membuat URL yang kemudian Anda gunakan untuk mengakses API yang di-deploy ke ESP. Contoh:
https://gateway-12345-uc.a.run.app
Edit spesifikasi OpenAPI untuk menetapkan properti
host
ke nama domain URL ESP. Contohnyahost: gateway-12345-uc.a.run.app
Men-deploy spesifikasi OpenAPI ke ESP.
Akses API Anda menggunakan URL ESP. Dalam spesifikasi OpenAPI di atas, elemen
paths
disetel ke/hello
sehingga Anda dapat mengakses API ini menggunakan URL berikut:https://gateway-12345-uc.a.run.app/hello
Seperti yang Anda lihat, untuk Endpoint, Anda harus men-deploy ESP terlebih dahulu agar dapat menetapkan nilai properti host
.
Agar dapat menggunakan definisi API ini untuk membuat konfigurasi API bagi Gateway API, Anda dapat menghapus properti host
sepenuhnya, atau membiarkannya dalam file.
Gateway API tidak menerapkan nilai properti host
.
URL dari gateway yang di-deploy, serta 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 region GCP tempat Anda men-deploy gateway.
Setelah Anda men-deploy API ke instance gateway, URL yang Anda gunakan untuk mengakses /hello
akan:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello
Untuk mengetahui informasi selengkapnya tentang deployment API, lihat Model Deployment Gateway API.
Untuk informasi selengkapnya tentang membuat spesifikasi OpenAPI untuk definisi API, lihat Ringkasan OpenAPI.