Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Ringkasan
Anda dapat menganggap atribut sebagai metadata untuk resource. Misalnya, dalam kasus resource API, API dapat memiliki atribut yang disebut Target Users
yang menentukan apakah API ditujukan untuk konsumsi publik, pribadi, atau internal. Ada banyak atribut serupa lainnya
yang tersedia.
Atribut berguna bagi Anda dengan cara berikut:
- Anda dapat memfilter hasil penelusuran referensi berdasarkan atribut. Oleh karena itu, memiliki lebih banyak atribut akan memudahkan Anda mempersempit hasil penelusuran.
- Anda dapat membuat atribut kustom dan mengaitkannya ke resource API hub.
API Hub menyimpan atribut dalam format nilai kunci; dengan kunci adalah nama atribut, dan nilai adalah nilai atribut yang sesuai. Dan nilainya dapat berupa salah satu format berikut:
- String
- Enum
- JSON
Atribut dapat berupa dua jenis berikut:
- Atribut sistem, yang telah ditentukan sebelumnya oleh API hub.
- Atribut pengguna, yang ditentukan oleh Anda.
Atribut sistem
Atribut sistem ditetapkan sebelumnya oleh API hub untuk setiap jenis resource. Daftar atribut tersebut, dan definisi nilainya, dapat berubah dari rilis ke rilis API hub. Contoh atribut sistem adalah; tahap siklus proses, kepatuhan API, akreditasi API, SLO, dan sebagainya. Atribut ini dapat bersifat wajib atau opsional untuk resource. Jika atribut wajib untuk resource, Anda harus menetapkan nilai atribut saat mendaftarkan resource.
Nilai atribut sistem jenis Enum
dapat bersifat tidak dapat diubah
atau dapat diubah.
- Tidak dapat diubah - Anda tidak dapat melakukan perubahan apa pun pada
nilai yang ada. Namun, Anda dapat menambahkan nilai baru yang dapat diubah ke atribut. Misalnya, atribut
oas-version
akan memiliki nilai 2.1, 3.0, dan 3.1. Anda tidak dapat memperbarui nilai ini, tetapi dapat menambahkan nilai kustom baru. - Dapat diubah - Anda dapat menambahkan, mengedit, atau menghapus nilai
yang ada. Misalnya, atribut
lifecycle-stage
pada awalnya dapat memiliki nilai sepertiDev
,Stage
,UAT
, atauProd
. Anda dapat mengedit nilai yang ada ini, dan menambahkan nilai baru.
Melihat atribut sistem
Konsol
Untuk melihat semua atribut sistem, di konsol Google Cloud, buka halaman API Hub > Settings. Anda dapat melihat semua atribut sistem yang ada di tab Atribut sistem.
REST API
Untuk melihat semua atribut sistem resource, buat permintaan GET
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Untuk informasi selengkapnya tentang API, lihat ListAttributes.
Contoh berikut menunjukkan panggilan API untuk mendapatkan atribut sistem untuk semua resource.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=SYSTEM_DEFINED
Mengedit atribut sistem dari jenis Enum
Anda dapat melakukan operasi berikut untuk nilai yang dapat diubah:
- Tambahkan nilai baru
- Memperbarui nilai yang ada
- Menghapus nilai atribut yang ada
Contoh di bagian ini menunjukkan cara memperbarui nilai yang diizinkan dari atribut sistem jenis Enum.
Konsol
Untuk menambahkan nilai untuk atribut sistem, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman API Hub > Settings.
Tindakan ini akan menampilkan semua atribut sistem yang ada di bagian Atribut sistem pada tab Atribut.
- Klik Edit untuk atribut yang ingin Anda tambahi nilai.
Tindakan ini akan membuka panel edit atribut, yang menampilkan nilai atribut yang ada.
- Untuk menambahkan nilai baru, klik Tambahkan item, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk memperbarui nilai yang diizinkan dari atribut yang ditentukan sistem dari jenis data Enum, buat permintaan PATCH ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Untuk mengetahui informasi selengkapnya tentang API, lihat UpdateAttribute.
Contoh berikut menunjukkan panggilan API untuk memperbarui nilai atribut Business unit
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"allowed_values": [ { "id": "bu1", "display_name": "Business unit 1", "description": "The API can be used by business unit 1" }, { "id": "bu2", "display_name": "Business unit 2", "description": "The API can be used by business unit 2" }, { "id": "bu3", "display_name": "Business unit 3", "description": "The API can be used by business unit 3" }]}' \ -X PATCH https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes/system-business-unit?update_mask=allowed_values
Anda harus memahami cara API Hub menafsirkan payload permintaan untuk API UpdateAttribute.
- Jika nilai yang Anda tentukan dalam payload sudah ada, API Hub akan memeriksa apakah nilai tersebut telah diperbarui dalam payload, lalu menimpa nilai tersebut jika diperbarui.
- Jika nilai tidak tersedia dalam payload, API Hub akan menafsirkan bahwa nilai tersebut harus dihapus, dan menghapus nilai dari API Hub.
- Jika nilai baru tersedia dalam payload, API Hub akan menambahkan nilai baru ke atribut.
Atribut yang ditentukan pengguna
Atribut yang ditentukan pengguna ditentukan oleh Anda berdasarkan persyaratan Anda.
Melihat atribut yang ditentukan pengguna
Konsol
Untuk melihat semua atribut pengguna, di konsol Google Cloud, buka halaman API Hub > Settings. Anda dapat melihat semua atribut pengguna di bagian Atribut yang ditentukan pengguna pada tab Atribut.
REST API
Untuk melihat semua atribut pengguna resource, buat permintaan GET
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes
Untuk informasi selengkapnya tentang API, lihat ListAttributes.
Contoh berikut menunjukkan panggilan API untuk mendapatkan atribut pengguna untuk resource API.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-type: application/json" \ -X GET \ https://apihub.googleapis.com/v1/projects/test-project-1/locations/us-central1/attributes?filter=definition_type=USER_DEFINED
Menambahkan atribut pengguna baru
Konsol
Untuk menambahkan atribut pengguna baru, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman API Hub > Settings.
Tindakan ini akan menampilkan semua atribut pengguna di bagian Atribut pengguna pada tab Atribut.
- Klik Buat atribut.
Tindakan ini akan membuka panel Tambahkan atribut baru.
- Masukkan detail berikut:
- ID: Masukkan ID unik untuk atribut.
- Jika Anda mengosongkan kolom ini, API Hub akan otomatis membuat ID unik untuk Anda.
- Jika Anda ingin memasukkan nilai secara manual, pastikan nilai tersebut unik di semua atribut.
- Nama: Masukkan nama untuk atribut.
- Deskripsi: Opsional, masukkan deskripsi atribut.
- Nilai maksimum yang diizinkan: Masukkan angka dari 1 hingga 20. Setelan ini menentukan jumlah maksimum nilai yang dapat dimiliki atribut.
- Resource type: Pilih jenis resource.
- ID: Masukkan ID unik untuk atribut.
- Untuk menambahkan nilai baru untuk jenis Enum, klik Tambahkan item, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk menambahkan atribut pengguna baru, buat permintaan POST
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes?attribute_id=NEW_ATTRIBUTE_NAME
Untuk mengetahui informasi selengkapnya tentang API, lihat CreateAttribute.
Contoh berikut menunjukkan panggilan API untuk membuat atribut pengguna attribute-01
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "display_name" : "custom attribute", "description" : "custom attribute details", "definition_type" : "USER_DEFINED", "scope" : "API", "data_type" : "ENUM", "allowed_values" : [ { "id" : "value-1", "display_name" : "Value 1", "description" : "Value 1 test description", "immutable" : false, }, { "id" : "value-2", "display_name" : "Value 2", "description" : "Value 2 test description", "immutable" : false, }, ], "cardinality" : 4, "mandatory" : false }' \ -X POST https://apihub.googleapis.com/v1/projects/test-15/locations/us-central1/attributes?attribute_id=attribute-01
Mengedit atribut pengguna
Anda dapat melakukan pengeditan berikut pada atribut pengguna:
- Memperbarui nama atribut
- Menambahkan nilai atribut baru
- Menghapus nilai atribut yang ada
Konsol
Untuk mengedit atribut pengguna, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman API Hub > Settings.
Tindakan ini akan menampilkan semua atribut pengguna yang ada di bagian Atribut pengguna pada tab Atribut.
- Klik Edit untuk atribut yang ingin Anda edit.
Tindakan ini akan membuka panel edit atribut, yang menampilkan nilai atribut yang ada.
- Anda dapat mengedit nama, deskripsi, dan nilai maksimum yang diizinkan. Untuk jenis Enum, Anda dapat menambahkan nilai baru. Untuk menambahkan nilai baru untuk jenis Enum, klik Tambahkan item, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk mengedit atribut pengguna, buat permintaan PATCH
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Untuk mengetahui informasi selengkapnya tentang API, lihat UpdateAttribute.
Contoh berikut menunjukkan panggilan API yang memperbarui atribut pengguna API Visibility
.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"name": "projects/test-15/locations/us-central1/attributes/API Visibility", display_name" : "API Visibility Updated", "allowedValues": [ { "id": "internal", "displayName": "Internal", "description": "The API is visible internally in an organization" }, { "id": "external", "displayName": "External", "description": "The API is visible externally in an organization" }, { "id": "public", "displayName": "Public", "description": "The API is visible public in an organization" } ]}' \ -X PATCH https://autopush-apihub.sandbox.googleapis.com/v1/projects/common-dev-15/locations/us-central1/attributes/API Visibility?update_mask=display_name,allowed_values
Anda harus memahami cara API Hub menafsirkan payload permintaan untuk UpdateAttribute API.
- Jika nilai yang Anda tentukan dalam payload sudah ada, API hub akan memeriksa apakah nilai telah diperbarui dalam payload, lalu menimpa nilai jika diperbarui.
- Jika nilai tidak tersedia dalam payload, API Hub akan menafsirkan bahwa nilai tersebut harus dihapus, dan menghapus nilai dari API Hub.
- Jika nilai baru tersedia dalam payload, API Hub akan menambahkan nilai baru ke atribut.