Kelola atribut

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 seperti Dev, Stage, UAT, atau Prod. 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:

  1. 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.

  2. Klik Edit untuk atribut yang ingin Anda tambahi nilai.

    Tindakan ini akan membuka panel edit atribut, yang menampilkan nilai atribut yang sudah ada.

  3. Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
  4. 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:

  1. Di konsol Google Cloud, buka halaman API Hub > Settings.

    Ini menampilkan semua atribut pengguna di bagian Atribut pengguna pada tab Atribut.

  2. Klik Tambahkan atribut.

    Tindakan ini akan membuka panel Add a new attribute.

  3. 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.
  4. Untuk menambahkan nilai baru, klik Tambahkan nilai, lalu masukkan nilai baru yang ingin Anda tambahkan.
  5. 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:

  1. 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.

  2. 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.
  3. 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.