Men-deploy API ke gateway
Prasyarat
Sebelum dapat men-deploy konfigurasi API di Gateway API, pastikan Anda telah:
Siapkan lingkungan pengembangan Anda seperti yang dijelaskan dalam Mengonfigurasi lingkungan pengembangan Anda.
Membuat konfigurasi API dari definisi API Anda.
Persyaratan ID gateway
Banyak dari perintah gcloud
yang ditampilkan di bawah ini mengharuskan Anda menentukan ID gateway, dalam format: GATEWAY_ID.
Gateway API menerapkan persyaratan berikut untuk ID gateway:
- Harus memiliki panjang maksimum 49 karakter.
- Hanya boleh berisi huruf kecil, angka, atau tanda pisah.
- Tidak boleh diawali dengan tanda hubung.
- Tidak boleh berisi garis bawah.
Menentukan endpoint konfigurasi API yang di-deploy
Saat Anda men-deploy konfigurasi API ke gateway, Gateway API membuat URL unik untuk gateway di domain gateway.dev
. Klien API Anda kemudian menggunakan URL dalam formulir di bawah ini untuk mengakses konfigurasi API yang di-deploy:
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.
Contoh:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
Men-deploy konfigurasi API ke gateway
Gunakan Google Cloud CLI untuk men-deploy konfigurasi API ke gateway. Saat men-deploy konfigurasi API, Anda harus menetapkan nama API tersebut. Jika gateway belum ada untuk API, perintah ini juga akan membuatnya.
Untuk men-deploy konfigurasi API ke gateway:
Validasi project ID yang ditampilkan dari perintah berikut untuk memastikan gateway tidak dibuat dalam project yang salah.
gcloud config list project
Jika Anda perlu mengubah project default, jalankan perintah berikut dan ganti PROJECT_ID dengan project ID Google Cloud yang ingin digunakan untuk membuat layanan:
gcloud config set project PROJECT_ID
Lihat bantuan untuk perintah
gateway create
:gcloud api-gateway gateways create --help
Jalankan perintah berikut untuk men-deploy konfigurasi API ke gateway:
gcloud api-gateway gateways create GATEWAY_ID \ --api=API_ID --api-config=CONFIG_ID \ --location=GCP_REGION --project=PROJECT_ID
dengan:
- GATEWAY_ID menentukan ID gateway baru. Jika gateway belum ada, perintah ini akan membuatnya.
- API_ID menentukan ID API Gateway API yang terkait dengan gateway ini.
- CONFIG_ID menentukan ID konfigurasi API yang di-deploy ke gateway. Anda harus menentukan konfigurasi API saat membuat gateway.
GCP_REGION menentukan region GCP untuk gateway yang di-deploy.
PROJECT_ID menentukan ID project Google Cloud.
Saat membuat gateway,
gcloud
meng-output informasi ke terminal.Setelah berhasil diselesaikan, Anda dapat menggunakan perintah berikut untuk melihat detail tentang gateway:
gcloud api-gateway gateways describe GATEWAY_ID \ --location=GCP_REGION --project=PROJECT_ID
Perintah ini akan menampilkan hal berikut:
apiConfig: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID createTime: '2020-02-05T13:44:12.997862831Z' defaultHostname: my-gateway-a12bcd345e67f89g0h.uc.gateway.dev displayName: GATEWAY_ID name: projects/PROJECT_ID/locations/GCP_REGION/gateways/GATEWAY_ID serviceAccount: email: gateway-111111@222222-tp.iam.gserviceaccount.com state: ACTIVE updateTime: '2020-02-05T13:45:00.844705087Z'
Catat nilai properti
defaultHostname
. Ini adalah bagian nama host URL gateway. Untuk mengakses konfigurasi API yang di-deploy ke gateway ini, gunakan URL dalam formulir:https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
Google Cloud CLI menggunakan banyak opsi, termasuk yang dijelaskan dalam Referensi gcloud. Selain itu, untuk Gateway API, Anda dapat menetapkan opsi berikut saat membuat gateway:
--async
: Segera mengembalikan kontrol ke terminal, tanpa menunggu operasi selesai.--display-name=NAME
: Menentukan nama tampilan gateway, yang berarti nama yang ditampilkan di UI. Jangan gunakan spasi dalam nama. Gunakan tanda hubung dan garis bawah sebagai gantinya. Nilai defaultnya adalah GATEWAY_ID.--labels=KEY1=VALUE1,KEY2=VALUE2,...
: Menentukan label yang terkait dengan gateway.
Gateway listingan
Untuk menampilkan daftar gateway untuk project tertentu:
gcloud api-gateway gateways list --project=PROJECT_ID
Perintah ini menampilkan output dalam bentuk:
GATEWAY_ID LOCATION DISPLAY_NAME STATE CREATE_TIME UPDATE_TIME my-gateway us-central1 my-gateway ACTIVE 2021-01-07T00:04:19 2022-05-21T00:33:46
Untuk menampilkan daftar gateway untuk project dan region tertentu:
gcloud api-gateway gateways list --location=GCP_REGION --project=PROJECT_ID
Gunakan ekspresi filter
untuk mencantumkan gateway yang terkait dengan API tertentu:
gcloud api-gateway gateways list \ --filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/*" \ --project=PROJECT_ID
Atau gunakan filter
ini guna mencantumkan gateway untuk konfigurasi API tertentu:
gcloud api-gateway gateways list \ --filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID" \ --project=PROJECT_ID
Gunakan ID project, region, dan gateway untuk mendapatkan informasi mendetail tentang gateway, termasuk identitas konfigurasi API yang di-deploy ke gateway:
gcloud api-gateway gateways describe GATEWAY_ID \ --location=GCP_REGION --project=PROJECT_ID
Mengupdate gateway
Mengupdate gateway ke:
- Men-deploy konfigurasi API yang berbeda ke gateway
- Memperbarui nama tampilan
- Memperbarui label
Gunakan perintah gcloud
berikut untuk memperbarui gateway yang sudah ada, dengan UPDATE_OPTIONS diganti dengan tanda opsi gateway dan nilai yang ingin Anda perbarui:
gcloud api-gateway gateways update GATEWAY_ID \ UPDATE_OPTIONS --api=API_ID --location=GCP_REGION --project=PROJECT_ID
Misalnya, untuk mengupdate konfigurasi API yang di-deploy ke gateway:
gcloud api-gateway gateways update GATEWAY_ID \ --api-config=NEW_CONFIG_ID --api=API_ID --location=GCP_REGION --project=PROJECT_ID
dengan NEW_CONFIG_ID menentukan konfigurasi API baru untuk di-deploy ke gateway.
Untuk mengetahui daftar lengkap flag dan argumen update yang tersedia, lihat referensi gcloud api-gateway gateways update atau gunakan perintah berikut untuk melihat semua opsi update:
gcloud api-gateway gateways update --help
Menghapus gateway
Gunakan perintah gcloud
berikut untuk menghapus gateway yang ada:
gcloud api-gateway gateways delete GATEWAY_ID \ --location=GCP_REGION --project=PROJECT_ID