Mengelola dependensi

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Dokumen ini menjelaskan cara membuat dan mengelola dependensi antar-API terdaftar. Dependensi membantu Anda melihat hubungan antar-API. Lihat Pengantar dependensi.

UI memungkinkan Anda melihat sekilas hubungan antara API konsumen dan pemasok, dengan konsumen bergantung pada operasi dari pemasok. Lihat Gambar 1.

UI dependensi hub API.
Gambar 1. UI dependensi API menampilkan pasangan konsumen/pemasok, dengan operasi konsumen bergantung pada operasi pemasok. Anda dapat dengan mudah melihat detail setiap dependensi. Anda juga dapat memfilter tabel menurut operasi konsumen dan/atau pemasok.

Membuat dependensi

Anda dapat membuat entitas dependensi dengan REST API.

Konsol

Untuk membuat dependensi:

  1. Di konsol Google Cloud, buka halaman Supply chain di API hub.

    Buka hub API
  2. Klik Buat Dependensi.
  3. Tambahkan deskripsi dependensi.
  4. Di bagian Select supplier resource, pilih Operation.
  5. Pilih API yang menyediakan operasi.
  6. Pilih versi API dari API yang menyediakan operasi.
  7. Pilih operasi yang disediakan untuk konsumen. Misalnya: GET-/items.
  8. Di bagian Select consumer resource, pilih Operation.
  9. Pilih API yang menggunakan operasi dari pemasok.
  10. Pilih versi API yang menggunakan operasi.
  11. Pilih operasi yang menggunakan API yang disediakan. Contoh: GET-/categories
  12. Jika ingin, berikan nilai untuk atribut buatan pengguna yang ditentukan di Setelan.
  13. Klik Create. Dependensi baru akan muncul di halaman Daftar dependensi (Gambar 1).

REST

Untuk membuat dependensi baru menggunakan API Create a dependency:

curl -X POST 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies?dependency_id=DEPENDENCY_ID' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "DESCRIPTION",
      "supplier": {
          // Specify one of the following:
          "operation_resource_name": RESOURCE_NAME
          // OR
          "external_api_resource_name: RESOURCE_NAME"
      },
      "consumer": {
        // Specify one of the following:
        "operation_resource_name": RESOURCE_NAME
        // OR
        "external_api_resource_name: RESOURCE_NAME"
      }
  }'

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat API hub disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat API hub disediakan.
  • DEPENDENCY_ID: (Opsional) ID dependensi. Jika tidak disediakan, ID yang dihasilkan sistem akan digunakan. Nama harus berupa string 4-500 karakter, dengan karakter yang valid adalah /[a-z][A-Z][0-9]-_.
  • DESCRIPTION: (Opsional) Deskripsi singkat dependensi.
  • RESOURCE_NAME: (Wajib) Nama resource operasi di API Hub atau API eksternal, bergantung pada atribut yang Anda tentukan.

    Nama resource operasi mengikuti format ini: projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION

    Contoh resource operasi: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".

    Nama resource API eksternal mengikuti format ini: projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    Contoh resource API eksternal: "projects/myproject/locations/us-central1/externalApis/petstore".

Contoh respons:

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.664226Z",
  "updateTime": "2024-04-17T19:33:31.664226Z"
 }

Contoh REST

curl -X POST 'https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/dependencies?dependency_id=user-to-pet' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "Dependency from user to pet API",
      "consumer": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/payments-api/versions/paymentv1/operations/createuser"
      },
      "supplier": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/pet-api/versions/petstorev1/operations/addpet"
      }
  }'

Mencantumkan dependensi

Bagian ini menjelaskan cara mencantumkan dependensi. Anda dapat mencantumkan semua dependensi yang terkait dengan semua versi untuk API, atau mencantumkan semua dependensi yang terkait dengan versi tertentu.

Konsol

Untuk mencantumkan dependensi:

  1. Di konsol Google Cloud, buka halaman Supply chain di API hub. Daftar dependensi yang diketahui akan muncul di halaman Supply chain.

    Buka hub API
  2. Di kolom Filter, jika diperlukan, tentukan operasi pemasok dan/atau konsumen untuk menampilkan dependensi yang relevan. Fitur filter memungkinkan Anda menemukan semua dependensi yang ditautkan dengan operasi yang ditentukan.

REST

Untuk mencantumkan semua dependensi, gunakan API List dependencies:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies"
      -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat API hub disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.

Contoh output:

{
  "dependencies": [
      {
          "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
          "consumer": {
              "displayName": "POST - /v2/user",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
          },
          "supplier": {
              "displayName": "POST - /v2/pet",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
          }
      }
  ]
 }

Mendapatkan detail dependensi

Bagian ini menjelaskan cara mendapatkan detail tentang dependensi API dengan REST API. Anda dapat melihat detail konsumen dan pemasok, serta melihat detail tentang dependensi termasuk error yang dapat menunjukkan, misalnya, dependensi yang rusak.

Konsol

Untuk mendapatkan dependensi:

  1. Di konsol Google Cloud, buka halaman Supply chain di API hub.

    Buka hub API
  2. Di kolom Filter, jika diperlukan, tentukan operasi pemasok dan/atau konsumen untuk menampilkan dependensi yang relevan. Fitur filter memungkinkan Anda menemukan semua dependensi yang ditautkan dengan operasi yang ditentukan.
  3. Temukan dependensi yang diinginkan, lalu klik Lihat Detail.

REST

Untuk melihat detail dependensi, gunakan API Get dependency details:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat API hub disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • DEPENDENCY_ID: ID unik dependensi.

Contoh respons:

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.215978712Z",
  "updateTime": "2024-04-17T19:33:31.737505297Z"
}

Berikut adalah contoh respons, dengan kondisi error yang menunjukkan bahwa operasi pemasok telah dihapus (dependensi rusak):

{
  "name": "projects/common-dev-15/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.215978712Z",
  "updateTime": "2024-04-17T19:33:31.737505297Z",
  {
    "error": "SUPPLIER_NOT_FOUND",
    "errorTime": 2024-05-18T20:23:42.465324Z
  }
}

Menghapus dependensi API

Bagian ini menjelaskan cara menghapus dependensi API.

Konsol

Untuk menghapus dependensi:

  1. Di konsol Google Cloud, buka halaman Supply chain di API hub.

    Buka hub API
  2. Di kolom Filter, jika diperlukan, tentukan operasi pemasok dan/atau konsumen untuk menampilkan dependensi yang relevan. Fitur filter memungkinkan Anda menemukan semua dependensi yang ditautkan dengan operasi yang ditentukan.
  3. Temukan dependensi yang diinginkan, lalu klik ikon hapus untuk menghapus dependensi tersebut.

REST

Untuk menghapus dependensi dari API hub, gunakan Delete dependency API:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X DELETE -H "Content-Type: application/json"

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat API hub disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • DEPENDENCY_ID: ID dependensi yang akan dihapus.

Mengedit dependensi

Bagian ini menjelaskan cara mengedit dependensi. Satu-satunya atribut yang dapat diedit adalah deskripsi dependensi.

Konsol

Untuk mengedit API:

  1. Di konsol Google Cloud, buka halaman Supply chain di API hub.

    Buka hub API
  2. Di kolom Filter, jika diperlukan, tentukan operasi pemasok dan/atau konsumen untuk menampilkan dependensi yang relevan. Fitur filter memungkinkan Anda menemukan semua dependensi yang ditautkan dengan operasi yang ditentukan.
  3. Temukan dependensi yang diinginkan, lalu klik Lihat Detail.
  4. Di halaman Dependensi, Anda dapat mengedit deskripsi dan atribut. Gunakan ikon edit untuk mengaktifkan pengeditan pada kolom tersebut.
  5. Klik Simpan.

REST

Untuk mengedit deployment, gunakan API Patch dependencies:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
    -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X PATCH -H "Content-Type: application/json"
    '{
      'description': DESCRIPTION
    {'

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat API hub disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • DEPLOYMENT_ID: ID deployment yang akan diedit.
  • DESCRIPTION: Satu-satunya atribut yang dapat diedit adalah deskripsi.