Menghubungkan API Gateway dengan hub API

Halaman ini menjelaskan cara menghubungkan API Gateway dengan hub API Apigee agar Anda dapat melihat API dan memusatkan pengelolaan API.

Ringkasan

Sebagai administrator API Gateway, untuk menghubungkan API Gateway dengan hub API, Anda harus melakukan langkah-langkah berikut:

  1. Hub API penyediaan
  2. Melampirkan project API Gateway ke hub API

Sebelum memulai: Berikan peran

Pastikan Anda memiliki peran Identity and Access Management (IAM) yang sesuai untuk menghubungkan API Gateway dengan hub API.

Di project tempat Anda akan menyediakan hub API:

  • Berikan peran untuk penyediaan, seperti yang dijelaskan di bagian Sebelum memulai dalam langkah-langkah penyediaan hub API.

Di project API Gateway yang akan Anda lampirkan ke hub API:

  • Berikan peran Editor Lampiran Project Runtime hub Cloud API (roles/apihub.runTimeProjectAttachmentsEditor) ke akun utama Anda.
  • Untuk melampirkan project API Gateway ke hub API menggunakan konsol Google Cloud , berikan peran Browser (roles/browser) ke akun utama Anda.

Hub API penyediaan

Sebelum dapat menghubungkan API Gateway dengan hub API, Anda harus menyediakan hub API di project host. Project host adalah project Google Cloud di organisasi Google Cloud Anda yang ditetapkan sebagai project konsumen untuk semua resource hub API. Satu instance hub API dapat disediakan per project host.

Untuk menyediakan penemuan API terpusat di semua Gateway API Anda, sebaiknya gunakan satu project host khusus untuk instance hub API dan lampirkan beberapa project Gateway API, yang disebut sebagai project runtime, ke instance hub API.

Untuk menyediakan hub API di project host Anda, lakukan salah satu hal berikut:

  • Di konsol Google Cloud , buka halaman API hub, pilih project Google Cloud yang akan digunakan sebagai project host, lalu klik Siapkan API hub.

    Anda dapat mengakses halaman ini dari halaman API Gateway sebagai berikut:

    • Klik Mulai di banner hub API di bagian atas halaman API Gateway mana pun
    • Klik Mulai menggunakan hub API di bagian atas halaman API

    Kemudian, ikuti langkah-langkah penyediaan mendetail yang dijelaskan dalam Menyediakan hub API di Konsol Cloud.

  • Gunakan command line atau Terraform.

Melampirkan project API Gateway ke hub API

Lampirkan project API Gateway Anda ke hub API.

KonsolGoogle Cloud

Untuk melampirkan project API Gateway ke hub API, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman API hub.

    Buka hub API

  2. Klik Setelan dari menu navigasi kiri untuk membuka halaman Setelan.
  3. Buka tab Pengaitan project.
  4. Jika project API Gateway Anda tidak ada dalam daftar project runtime terlampir, lakukan hal berikut:
    1. Klik Attach runtime project.
      Tindakan ini akan menampilkan panel Select a resource.
    2. Klik project Google Cloud tempat API Gateway disediakan.
    3. Di panel Project association settings, pilih API Gateway dan aset API lainnya yang ingin Anda impor secara otomatis.
    4. Klik Simpan.
  5. Jika project API Gateway Anda sudah ada dalam daftar project runtime yang terlampir, lakukan hal berikut:
    1. Klik Edit settings di baris yang terkait dengan project runtime API Gateway.
    2. Di panel Project association settings, pilih API Gateway dan aset API lainnya yang ingin Anda impor secara otomatis.
    3. Klik Simpan.

REST

Untuk melampirkan project API Gateway ke hub API, gunakan API Create runtime project attachments dan Create plugin instance.

Misalnya, untuk membuat lampiran project runtime:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'

Ganti kode berikut:

  • HUB_PROJECT_ID: Nama project host hub API Anda. Project host dipilih saat hub API disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • RUNTIME_PROJECT_ID: Nama project runtime API Gateway Anda.

Jika berhasil, objek JSON RuntimeProjectAttachment akan ditampilkan.

Kemudian, untuk membuat instance plugin API Gateway:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "API Gateway Plugin Instance",
    "sourceProjectId": "RUNTIME_PROJECT_ID",
    "actions": [
      {
        "actionId": "sync-metadata"
      }
    ]
  }'

Ganti kode berikut:

  • HUB_PROJECT_ID: Nama project host hub API Anda. Project host dipilih saat hub API disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • PLUGIN_TYPE: Jenis plugin. Setel ke system-api-gateway.
  • RUNTIME_PROJECT_ID: Nama project runtime API Gateway Anda.

Jika berhasil, objek JSON Operation akan ditampilkan.