Mengelola dependensi

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

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

Membuat dependensi

Anda dapat membuat entity dependensi dengan REST API.

REST

Untuk membuat dependensi baru menggunakan API Create a dependensi:

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": {
          "operation_resource_name": SUPPLIER_OPERATION
      },
      "consumer": {
          "operation_resource_name": CONSUMER_OPERATION
      }
  }'

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat hub API disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat hub API disediakan.
  • DEPENDENCY_ID: (Opsional) ID dependensi. Jika tidak diberikan, ID yang dihasilkan sistem akan digunakan. Nama harus berupa string berisi 4-500 karakter, dengan karakter yang valid adalah /[a-z][A-Z][0-9]-_.
  • DESCRIPTION: (Opsional) Deskripsi singkat dependensi.
  • SUPPLIER_OPERATION: (Wajib) Nama operasi pemasok yang sepenuhnya memenuhi syarat. Contoh: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".
  • CONSUMER_OPERATION: (Wajib) Nama operasi konsumen yang sepenuhnya memenuhi syarat. Operasi ini bergantung pada (panggilan) operasi pemasok. Contoh: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/createuser".

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.

REST

Untuk mencantumkan semua dependensi, gunakan API ListDependencies:

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 hub API 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.

REST

Untuk melihat detail dependensi, gunakan Get dependensi details 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 GET -H "Content-Type: application/json"

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat hub API 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"
}

Menghapus dependensi API

Bagian ini menjelaskan cara menghapus dependensi API.

REST

Untuk menghapus dependensi dari hub API, gunakan API DeleteDependency:

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 hub API 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.

REST

Untuk mengedit deployment, gunakan Patch dependensi 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 PATCH -H "Content-Type: application/json"
    '{
      'description': DESCRIPTION
    {'

Ganti kode berikut:

  • HUB_PROJECT: Nama project host hub API Anda. Project host dipilih saat hub API 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.