Kelola atribut

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

  1. Di konsol Google Cloud, buka API Hub > Setelan ini.

    Ini menampilkan semua atribut sistem yang ada di bagian System attributes pada tab Attributes.

  2. Klik Edit untuk atribut yang ingin ditambahi nilai.

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

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

  1. Di konsol Google Cloud, buka API Hub > Setelan ini.

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

  1. Di konsol Google Cloud, buka API Hub > Setelan ini.

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

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