Membuat konfigurasi API
Halaman ini menjelaskan cara membuat konfigurasi API untuk di-deploy di API Gateway.
Sebelum memulai
Sebelum membuat konfigurasi API, lakukan hal berikut:
Siapkan lingkungan pengembangan Anda seperti yang dijelaskan dalam Mengonfigurasi lingkungan pengembangan Anda.
Buat definisi API sebagai spesifikasi OpenAPI.
Jika menggunakan Google Cloud CLI, Anda dapat membuat API. Jika API tidak ada, konfigurasi API akan dibuat saat dibuat.
Catatan: Saat menggunakan konsol Google Cloud , API dan konfigurasi API dibuat saat men-deploy API ke gateway.
Persyaratan ID konfigurasi API
Banyak perintah gcloud CLI yang ditampilkan mengharuskan Anda menentukan ID konfigurasi API, dalam bentuk: CONFIG_ID. API Gateway memberlakukan persyaratan berikut untuk ID konfigurasi API:
- Harus memiliki panjang maksimum 63 karakter.
- Hanya boleh berisi huruf kecil, angka, atau tanda hubung.
- Tidak boleh diawali dengan tanda hubung.
- Tidak boleh berisi garis bawah.
Membuat konfigurasi API
Buat konfigurasi API dengan mengupload definisi API Anda.
Untuk membuat konfigurasi API:
Konsol Google Cloud
Buat konfigurasi API saat Anda men-deploy API ke gateway.
Google Cloud CLI
Upload definisi API Anda untuk membuat konfigurasi API. Saat mengupload definisi API, Anda harus menentukan nama API. Jika API belum ada di API Gateway, perintah ini juga akan membuatnya.
-
Ubah ke direktori yang berisi definisi API Anda.
Untuk mengetahui informasi selengkapnya tentang cara membuat spesifikasi OpenAPI untuk definisi API, lihat Ringkasan OpenAPI dan Mulai Cepat: Mengamankan traffic ke layanan dengan gcloud CLI.
Untuk mengetahui informasi selengkapnya tentang cara membuat definisi dan konfigurasi layanan gRPC untuk definisi API Anda, lihat Mengonfigurasi layanan gRPC dan Mulai menggunakan API Gateway dan Cloud Run untuk gRPC.
-
Validasi project ID yang ditampilkan dari perintah berikut untuk memastikan bahwa layanan tidak dibuat di project yang salah.
gcloud config list project
Jika Anda perlu mengubah project default, jalankan perintah berikut dan ganti PROJECT_ID dengan Google Cloud project ID tempat Anda ingin membuat layanan:
gcloud config set project PROJECT_ID
-
Melihat bantuan untuk perintah
api-configs create:gcloud api-gateway api-configs create --help
-
Jalankan perintah berikut untuk membuat konfigurasi API:
gcloud api-gateway api-configs create CONFIG_ID \ --api=API_ID --openapi-spec=API_DEFINITION \ --project=PROJECT_ID --backend-auth-service-account=SERVICE_ACCOUNT_EMAILdengan:
- CONFIG_ID menentukan ID konfigurasi API baru.
- API_ID menentukan ID API Gateway API yang terkait dengan konfigurasi API ini. Jika API belum ada, perintah ini akan membuatnya.
- API_DEFINITION menentukan nama spesifikasi OpenAPI yang berisi definisi API.
- SERVICE_ACCOUNT_EMAIL menentukan akun layanan yang digunakan untuk menandatangani token bagi backend dengan autentikasi yang dikonfigurasi. Lihat Mengonfigurasi akun layanan yang digunakan untuk membuat konfigurasi API untuk mengetahui detail selengkapnya.
Saat membuat API dan konfigurasi API, API Gateway akan menampilkan informasi ke terminal. Operasi ini mungkin memerlukan waktu beberapa menit untuk selesai karena konfigurasi API disebarkan ke sistem hilir. Pembuatan konfigurasi API yang kompleks dapat memerlukan waktu hingga sepuluh menit agar berhasil diselesaikan. Saat konfigurasi sedang dibuat, jangan mencoba membuat konfigurasi lain untuk API yang sama. Hanya satu konfigurasi yang dapat dibuat untuk API tertentu dalam satu waktu.
-
Setelah berhasil diselesaikan, Anda dapat menggunakan perintah berikut untuk melihat detail tentang konfigurasi API baru:
gcloud api-gateway api-configs describe CONFIG_ID \ --api=API_IDPerintah ini menampilkan hal berikut:
createTime: '2020-02-04T18:33:11.882707149Z' displayName: CONFIG_ID gatewayConfig: backendConfig: googleServiceAccount: 1111111@developer.gserviceaccount.com labels: '' name: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID serviceRollout: rolloutId: 2020-02-04r2 state: ACTIVE updateTime: '2020-02-04T18:33:12.219323647Z' -
Aktifkan API menggunakan nama layanan terkelola API. Anda dapat menemukan nilai ini di kolom Managed Service untuk API Anda di halaman landing API:
gcloud services enable MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
Anda hanya perlu menjalankan perintah ini satu kali saat membuat API. Jika Anda mengubah API nanti, Anda tidak perlu menjalankan kembali perintah.
--async: Segera kembalikan kontrol ke terminal, tanpa menunggu operasi selesai.--display-name=NAME: Menentukan nama tampilan konfigurasi API, yang berarti nama yang ditampilkan di UI. Jangan gunakan spasi dalam nama. Gunakan tanda hubung dan garis bawah sebagai gantinya. Nilai defaultnya adalah CONFIG_ID.--labels=KEY1=VALUE1,KEY2=VALUE2,...: Menentukan label yang terkait dengan konfigurasi API.
gcloud CLI memiliki banyak opsi, termasuk yang dijelaskan dalam Referensi Google Cloud CLI. Selain itu, untuk API Gateway, Anda dapat menetapkan opsi berikut saat membuat konfigurasi API:
Contoh:
gcloud api-gateway api-configs create CONFIG_ID \ --api=API_ID --openapi-spec=API_DEFINITION \ --backend-auth-service-account=SERVICE_ACCOUNT_EMAIL \ --async --display-name=MyConfig --labels=a=1,b=2
Anda dapat melihat label dalam output perintah describe yang ditampilkan, atau dalam perintah list dengan menyertakan opsi --format:
gcloud api-gateway api-configs list \ --api=API_ID --format="table(name, labels)"
Mencantumkan konfigurasi API
Mencantumkan semua Gateway API yang di-deploy di Google Cloud project Anda.
Konsol Google Cloud
Untuk mencantumkan konfigurasi API untuk API tertentu dalam project:
Di konsol Google Cloud , buka halaman API Gateway.
- Klik API yang diperlukan.
- Klik tab Configs.
Anda akan melihat daftar konfigurasi API yang tersedia di halaman tersebut.
Google Cloud CLI
Untuk mencantumkan konfigurasi API untuk project tertentu:
gcloud api-gateway api-configs list
Perintah ini menampilkan hal berikut:
NAME DISPLAY_NAME ROLLOUT_ID STATE CREATE_TIME projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID CONFIG_ID 2020-02-04r0 ACTIVE 2020-02-04T16:18:02.369859863Z
Untuk mencantumkan konfigurasi API untuk API tertentu dalam project:
gcloud api-gateway api-configs list --api=API_ID
Gunakan ID API dan konfigurasi untuk mendapatkan informasi mendetail tentang konfigurasi API:
gcloud api-gateway api-configs describe CONFIG_ID \ --api=API_ID
Memperbarui konfigurasi API
Anda tidak dapat mengubah konfigurasi API yang ada selain memperbarui label dan nama tampilannya.
Konsol Google Cloud
Di konsol Google Cloud , buka halaman API Gateway.
- Klik API yang diperlukan.
- Klik tab Configs.
- Klik konfigurasi API yang diperlukan.
- Klik edit Edit.
- Edit Nama Tampilan atau Label.
- Klik Simpan.
Google Cloud CLI
Gunakan `gcloud` berikut untuk mengupdate konfigurasi API yang ada:
--display-name--update-labels--clear-labels--remove-labels
Contoh:
gcloud api-gateway api-configs update CONFIG_ID \ --api=API_ID \ --update-labels=a=1,b=2
Gunakan perintah berikut untuk melihat semua opsi update:
gcloud api-gateway api-configs update --help
Menghapus konfigurasi API
Sebelum menghapus konfigurasi API yang sedang digunakan, Anda harus:
- Deploy konfigurasi API yang berbeda ke gateway.
- Hapus gateway.
Lihat Men-deploy API ke gateway untuk mengetahui informasi selengkapnya.
Konsol Google Cloud
Di konsol Google Cloud , buka halaman API Gateway.
- Klik API yang diperlukan.
- Klik tab Configs.
- Klik Lainnya , lalu klik Hapus untuk menghapus konfigurasi API yang dipilih.
Google Cloud CLI
Gunakan perintah gcloud CLI berikut untuk menghapus konfigurasi API yang ada:
gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID