Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Ringkasan
Anda dapat menganggap atribut sebagai metadata resource. Misalnya, dalam kasus resource
API, API dapat memiliki atribut bernama Target Users
yang menentukan apakah API
ditujukan untuk konsumsi publik, pribadi, atau internal.
Atribut berguna bagi Anda dalam hal berikut:
- Anda dapat memfilter hasil penelusuran resource berdasarkan atribut. Oleh karena itu, memiliki lebih banyak atribut akan memudahkan Anda mempersempit hasil penelusuran.
- Anda dapat mengaitkan data kustom ke resource hub API.
Hub API menyimpan atribut dalam format nilai kunci; kunci adalah nama atribut, dan nilainya adalah nilai atribut yang sesuai. Dan nilainya dapat dalam salah satu format berikut:
- String
- Enum
- JSON
Atribut dapat berupa dua jenis berikut:
- Atribut sistem, yang telah ditentukan sebelumnya oleh hub API.
- Atribut pengguna, yang Anda tetapkan.
Atribut sistem
Atribut sistem telah ditentukan sebelumnya oleh hub API untuk setiap jenis resource. Daftar atribut tersebut, dan definisi nilainya dapat berubah dari rilis ke rilis hub API. Contoh atribut sistem adalah; tahap siklus proses, kepatuhan API, akreditasi API, SLO, dan sebagainya. Atribut ini mungkin bersifat wajib atau opsional untuk resource. Jika suatu atribut bersifat wajib untuk resource, Anda harus menetapkan nilai atribut saat mendaftarkan resource.
Nilai atribut sistem jenis Enum
dapat tidak dapat diubah atau diubah.
- Tidak dapat diubah - Anda tidak dapat membuat perubahan apa pun pada nilai yang ada. Namun, Anda dapat menambahkan nilai baru yang dapat berubah
ke atribut tersebut. 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 sudah 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 System attributes.
REST API
Untuk menampilkan 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 jenis Enum
Anda dapat melakukan operasi berikut untuk nilai yang dapat berubah:
- Tambahkan nilai baru
- Memperbarui nilai yang ada
- Menghapus nilai atribut yang ada
Contoh di bagian ini menunjukkan cara mengupdate nilai yang diizinkan untuk atribut sistem jenis Enum.
Konsol
Untuk menambahkan nilai bagi 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 sudah ada.
- Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk mengupdate nilai yang diizinkan dari atribut jenis data Enum yang ditentukan sistem, berikan permintaan PATCH ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Untuk 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
Penting untuk memahami cara hub API menafsirkan payload permintaan untuk UpdateAttribute API.
- Jika nilai yang Anda tetapkan dalam payload sudah ada, hub API akan memeriksa apakah nilai telah diperbarui dalam payload, lalu menimpa nilai tersebut jika diperbarui.
- Jika nilai tidak tersedia dalam payload, hub API menafsirkan bahwa nilai harus dihapus, lalu menghapus nilai dari hub API.
- Jika nilai baru tersedia dalam payload, hub API akan menambahkan nilai baru ke atribut.
Atribut pengguna
Atribut pengguna ditetapkan oleh Anda berdasarkan persyaratan Anda.
Melihat atribut 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 pengguna pada tab Atribut.
REST API
Untuk menampilkan 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.
Ini menampilkan semua atribut pengguna di bagian Atribut pengguna pada tab Atribut.
- Klik Tambahkan atribut.
Tindakan ini akan membuka panel Add a new attribute.
- Masukkan detail berikut:
- ID: Masukkan ID unik untuk atribut.
- Jika Anda mengosongkan kolom, hub API 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: Secara opsional, masukkan deskripsi atribut.
- Kartinalitas: Masukkan angka dari 1 sampai 20. Kardinalitas menentukan jumlah nilai maksimum yang dapat dimiliki atribut.
- Jenis resource: Pilih jenis fasilitas.
- ID: Masukkan ID unik untuk atribut.
- Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk menambahkan atribut pengguna baru, berikan permintaan POST
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes?attribute_id=NEW_ATTRIBUTE_NAME
Untuk 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:
- Perbarui nama atribut
- Tambahkan 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.
Ini akan menampilkan semua atribut pengguna yang sudah ada di bagian Atribut pengguna pada tab Atribut.
- Klik Edit untuk atribut yang ingin diedit.
Tindakan ini akan membuka panel edit atribut, yang menampilkan nilai atribut yang sudah ada.
-
- Untuk memperbarui nama atribut, masukkan nama baru di kolom Name.
- Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Untuk menghapus nilai yang ada, klik Hapus untuk nilai yang ingin dihapus.
- Klik Simpan.
REST API
Untuk mengedit atribut pengguna, berikan permintaan PATCH
ke API berikut:
https://apihub.googleapis.com/v1/projects/PROJECT/locations/LOCATION/attributes/ATTRIBUTE
Untuk informasi selengkapnya tentang API, lihat UpdateAttribute.
Contoh berikut menunjukkan pembaruan panggilan API untuk 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
Penting untuk memahami cara hub API menafsirkan payload permintaan untuk UpdateAttribute API.
- Jika nilai yang Anda tetapkan dalam payload sudah ada, hub API akan memeriksa apakah nilai telah diperbarui dalam payload, lalu menimpa nilai tersebut jika diperbarui.
- Jika nilai tidak tersedia dalam payload, hub API menafsirkan bahwa nilai harus dihapus, lalu menghapus nilai dari hub API.
- Jika nilai baru tersedia dalam payload, hub API akan menambahkan nilai baru ke atribut.