Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Ringkasan
Anda dapat menganggap atribut sebagai metadata dari resource. Misalnya, dalam kasus API
tambahan, API dapat memiliki atribut bernama Target Users
yang menentukan apakah API
ditujukan untuk konsumsi publik, pribadi, atau internal.
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 mengaitkan data kustom ke resource hub API.
Hub API menyimpan atribut dalam format nilai kunci; dengan kunci adalah nama atribut, dan adalah nilai atribut yang sesuai. Dan nilainya bisa berupa 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 ditentukan oleh Anda.
Atribut sistem
Atribut sistem telah ditetapkan sebelumnya oleh hub API untuk setiap jenis resource. Daftar atribut tersebut, dan definisi nilainya dapat berubah dari rilis ke rilis hub API. Contoh sistem atribut tersebut adalah; siklus proses, kepatuhan API, akreditasi API, SLO, dan sebagainya. Ini dapat bersifat wajib atau opsional untuk suatu sumber daya. Jika suatu atribut bersifat wajib untuk resource, Anda harus mengatur nilai atribut saat mendaftarkan sumber daya.
Nilai atribut sistem jenis Enum
tidak dapat diubah
atau dapat diubah.
- Tidak dapat diubah - Anda tidak dapat mengubah
nilai-nilai yang sudah ada. Namun, Anda dapat menambahkan nilai baru yang dapat diubah
pada atribut. Misalnya,
oas-version
akan memiliki nilai 2.1, 3.0, dan 3.1. Anda tidak dapat memperbaruinya tetapi Anda dapat menambahkan nilai kustom baru. - Dapat diubah - Anda dapat menambahkan, mengedit, atau menghapus yang ada
masing-masing. Misalnya, atribut
lifecycle-stage
awalnya dapat memiliki nilai sepertiDev
,Stage
,UAT
, atauProd
. Anda dapat mengedit nilai yang ada ini, dan menambahkan nilai-nilai baru.
Lihat atribut sistem
Konsol
Untuk melihat semua atribut sistem, di Konsol Google Cloud, buka API Hub > Setelan ini. Anda dapat melihat semua atribut sistem yang ada di tab Atribut sistem.
REST API
Untuk melihat semua atribut sistem masalah resource, 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 sistem untuk semua sumber daya.
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 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 ke atribut sistem, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka API Hub > Setelan ini.
Ini menampilkan semua atribut sistem yang ada di bagian System attributes pada tab Attributes.
- Klik Edit untuk atribut yang ingin ditambahi nilai.
Tindakan ini akan membuka panel edit atribut, yang akan menampilkan nilai atribut yang ada.
- Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
- Klik Simpan.
REST API
Untuk memperbarui nilai yang diizinkan dari atribut tipe data Enum yang ditetapkan sistem, kirimkan 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 mengupdate 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 perlu 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 tersebut memiliki telah diperbarui dalam payload, dan kemudian menimpa nilai itu jika diperbarui.
- Jika nilai tidak tersedia dalam payload, hub API akan menafsirkan bahwa nilai tersebut harus dihapus, dan menghapus nilai tersebut dari hub API.
- Jika nilai baru tersedia dalam payload, hub API akan menambahkan nilai baru ke atribut tersebut.
Atribut pengguna
Atribut pengguna ditentukan oleh Anda berdasarkan persyaratan Anda.
Melihat atribut pengguna
Konsol
Untuk melihat semua atribut pengguna, di Konsol Google Cloud, buka API Hub > Setelan ini. Anda dapat melihat semua atribut pengguna di bagian Atribut pengguna pada tab Atribut.
REST API
Untuk melihat semua atribut pengguna dari masalah resource, 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 mengajak 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 API Hub > Setelan ini.
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 ini, hub API secara otomatis akan membuat ID unik untuk Anda.
- Jika Anda ingin memasukkan nilai secara manual, pastikan nilai tersebut unik di semua atribut-atribut tersebut.
- Nama: Masukkan nama untuk atribut.
- Deskripsi: Anda juga dapat memasukkan deskripsi atribut.
- Kardinalitas: Masukkan angka dari 1 sampai 20. Kardinalitas menentukan jumlah nilai maksimum yang dapat dimiliki atribut.
- Jenis resource: Pilih jenis resource.
- 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 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:
- 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 API Hub > Setelan ini.
Ini menampilkan semua atribut pengguna yang ada di bagian Atribut pengguna pada tab Atribut.
- Klik Edit untuk atribut yang ingin diedit.
Tindakan ini akan membuka panel edit atribut, yang akan menampilkan nilai atribut yang 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 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
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 tersebut telah diperbarui dalam payload. dan kemudian menimpa nilai itu jika diperbarui.
- Jika nilai tidak tersedia dalam payload, hub API akan menafsirkan bahwa nilai tersebut harus dihapus, dan menghapus nilai tersebut dari hub API.
- Jika nilai baru tersedia dalam payload, hub API akan menambahkan nilai baru ke atribut tersebut.