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.
Membuat dependensi
Anda dapat membuat entitas dependensi dengan REST API.
Konsol
Untuk membuat dependensi:
Di konsol Google Cloud, buka halaman Supply chain di API hub.
Buka hub API- Klik Buat Dependensi.
- Tambahkan deskripsi dependensi.
- Di bagian Select supplier resource, pilih Operation.
- Pilih API yang menyediakan operasi.
- Pilih versi API dari API yang menyediakan operasi.
- Pilih operasi yang disediakan untuk konsumen. Misalnya:
GET-/items
. - Di bagian Select consumer resource, pilih Operation.
- Pilih API yang menggunakan operasi dari pemasok.
- Pilih versi API yang menggunakan operasi.
- Pilih operasi yang menggunakan API yang disediakan. Contoh:
GET-/categories
- Jika ingin, berikan nilai untuk atribut buatan pengguna yang ditentukan di Setelan.
- 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:
Di konsol Google Cloud, buka halaman Supply chain di API hub. Daftar dependensi yang diketahui akan muncul di halaman Supply chain.
Buka hub API- 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:
Di konsol Google Cloud, buka halaman Supply chain di API hub.
Buka hub API- 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.
- 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:
Di konsol Google Cloud, buka halaman Supply chain di API hub.
Buka hub API- 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.
- 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:
Di konsol Google Cloud, buka halaman Supply chain di API hub.
Buka hub API- 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.
- Temukan dependensi yang diinginkan, lalu klik Lihat Detail.
- Di halaman Dependensi, Anda dapat mengedit deskripsi dan atribut. Gunakan ikon edit untuk mengaktifkan pengeditan pada kolom tersebut.
- 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.