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. 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
API Gateway mendukung API yang dijelaskan menggunakan spesifikasi OpenAPI, versi 2.0. Artinya, Anda dapat men-deploy spesifikasi OpenAPI dari 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 spec 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
host
ke bagian nama host URL yang dibuat saat Anda men-deploy ESP, dengan ESP adalah layanan yang digunakan untuk menghosting Endpoints API Anda. - Di API Gateway, hapus
host
atau tetapkan ke nama DNS API yang di-deploy. Penyedia API sering menetapkannya ke nama DNS saat membagikan spesifikasi OpenAPI kepada konsumen API mereka. Namun, API Gateway tidak menerapkan nilai propertihost
.
Misalnya, berikut adalah bagian dari spesifikasi OpenAPI yang digunakan oleh Endpoints untuk menentukan API guna mengakses layanan backend yang di-deploy di fungsi Cloud Run:
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:
Men-deploy ESP, yang akan 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. Misalnyahost: gateway-12345-uc.a.run.app
Deploy spesifikasi OpenAPI ke ESP.
Akses API Anda menggunakan URL ESP. Dalam spesifikasi OpenAPI sebelumnya, elemen
paths
ditetapkan ke/hello
sehingga Anda dapat mengakses API ini menggunakan URL berikut:https://gateway-12345-uc.a.run.app/hello
Seperti yang dapat Anda lihat, untuk Endpoint, Anda harus men-deploy ESP terlebih dahulu agar dapat menetapkan nilai properti host
.
Untuk menggunakan definisi API ini guna membuat konfigurasi API untuk API Gateway, Anda dapat menghapus properti host
sepenuhnya, atau membiarkannya dalam file.
API Gateway tidak menerapkan nilai properti host
.
URL gateway yang di-deploy, dan oleh karena itu URL yang digunakan klien untuk mengakses API, 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 informasi selengkapnya tentang cara membuat spesifikasi OpenAPI untuk definisi API Anda, lihat Ringkasan OpenAPI.