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 antar-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": {
          // Specify one of the following:
          "operation_resource_name": RESOURCE_NAME
          // OR
          "external_resource_name: RESOURCE_NAME"
      },
      "consumer": {
        // Specify one of the following:
        "operation_resource_name": RESOURCE_NAME
        // OR
        "external_resource_name: RESOURCE_NAME"
      }
  }'

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 API telah disediakan.
  • DEPENDENCY_ID: (Opsional) ID dependensi. Jika tidak diberikan, ID 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.
  • RESOURCE_NAME: (Wajib) Nama resource operasi di hub API atau API eksternal, bergantung pada atribut yang Anda tentukan.

    Nama resource operasi mengikuti format berikut: 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 membuat daftar dependensi. Anda dapat membuat daftar semua dependensi yang terkait dengan semua versi untuk API, atau cantumkan semua dependensi yang terkait dengan versi tertentu.

REST

Untuk menampilkan daftar semua dependensi, gunakan API Dependensi daftar:

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 API telah 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 API Get dependensi 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 hub API disediakan.
  • HUB_LOCATION: Lokasi project host. Lokasi dipilih saat API telah 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 Delete dependen:

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 API telah 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 API Dependensi Patch:

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 API telah disediakan.
  • DEPLOYMENT_ID: ID deployment yang akan diedit.
  • DESCRIPTION: Satu-satunya atribut yang dapat diedit adalah deskripsi.