Menggunakan kumpulan properti

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Set properti adalah kumpulan kustom key-value pair yang menyimpan data. Proxy API dapat mengambil data ini saat dieksekusi.

Mengapa menggunakan set properti?

Biasanya, Anda menggunakan kumpulan properti untuk menyimpan data yang tidak habis masa berlakunya dan tidak boleh di-hardcode dalam logika proxy API. Anda dapat mengakses data kumpulan properti di mana saja di proxy tempat Anda dapat mengakses variabel alur.

Kasus penggunaan umum untuk kumpulan properti adalah memberikan nilai yang dikaitkan dengan satu lingkungan atau lingkungan lainnya. Misalnya, Anda dapat membuat kumpulan properti cakupan lingkungan dengan nilai konfigurasi yang spesifik untuk proxy yang berjalan di lingkungan pengujian, dan kumpulan lain untuk lingkungan produksi.

Contoh:

  • Kumpulan properti prod-env.properties berisi properti log-level=error
  • Kumpulan properti test-env.properties berisi properti log-level=debug

Demikian pula, Anda dapat menyimpan informasi pemilihan rute khusus lingkungan:

  • Kumpulan properti test-env.properties berisi properti db-url=mydomain.test.datasource.com
  • Kumpulan properti prod-env.properties berisi properti db-url=mydomain.prod.datasource.com

Cakupan kumpulan properti

Anda dapat menentukan cakupan set properti ke revisi atau lingkungan proxy API saat membuat set properti. Anda tidak dapat menentukan cakupan kumpulan properti ke organisasi.

Tabel berikut menjelaskan perilaku dan administrasi kumpulan properti dengan proxy API dan cakupan organisasi:

Cakupan Perilaku runtime Administrasi
Proxy API Properti hanya tersedia untuk revisi proxy API yang berisi resource kumpulan properti. Tidak ada proxy API lain atau revisi proxy yang sama yang dapat mengakses kumpulan properti tertentu tersebut. Administrator dapat menggunakan /resourcefiles Apigee API atau UI untuk membuat dan mengedit kumpulan properti. Menyimpan proxy API di UI akan membuat revisi baru, dan kumpulan properti yang diubah hanya akan dikaitkan dengan revisi tersebut.
Lingkungan Properti tersedia untuk semua revisi dari semua proxy API dalam lingkungan tersebut. Proksi API dalam lingkungan lain tidak dapat mengakses kumpulan properti tersebut. Administrator harus menggunakan Apigee API /resourcefiles untuk membuat, melihat, memperbarui, atau menghapus kumpulan properti cakupan lingkungan. Set properti ini tidak ditampilkan dan tidak dapat diedit di UI Apigee.

Batas kumpulan properti

Apigee menerapkan batasan pada kumpulan properti, seperti yang dijelaskan di Batas. Selain itu, file kumpulan properti harus menggunakan sintaksis yang sama dengan file properti Java, dengan satu pengecualian: Anda tidak dapat menggunakan kurung kurawal {} dalam file kumpulan properti.

Membuat file kumpulan properti

Biasanya, Anda menyimpan nilai kumpulan properti sebagai pasangan nama/nilai dalam file. File kumpulan properti adalah file resource dari jenis properties.

File kumpulan properti mendukung sintaksis yang sama dengan file properti Java; misalnya, file tersebut dapat berisi nilai Unicode dan dapat menggunakan karakter # atau ! sebagai penanda komentar. Perhatikan satu pengecualian ini: Anda tidak dapat menggunakan tanda kurung kurawal {} dalam file set properti.

Anda harus menambahkan akhiran .properties ke nama file properti. Misalnya: myconfig.my_key.properties diizinkan, tetapi myconfig.my_key tidak diizinkan.

Struktur spesifikasi set properti adalah: property_set_name.property_name.properties Nama set properti dan nama properti tidak boleh berisi titik. Misalnya: myconfig.my_key.properties diizinkan, tetapi myconfig.my.key.properties dan my.config.my_key.properties tidak diizinkan.

Contoh berikut menunjukkan file kumpulan properti sederhana yang menentukan beberapa properti:

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Setelah membuat file kumpulan properti, Anda menguploadnya ke Apigee menggunakan UI atau API.

Mengelola kumpulan properti menggunakan UI

Kelola kumpulan properti yang dicakupkan ke revisi proxy API menggunakan UI dengan cara yang sama seperti Anda mengelola resource lainnya. Untuk mengetahui informasi selengkapnya, lihat Mengelola resource menggunakan UI.

Mengelola kumpulan properti menggunakan API

Kelola kumpulan properti yang dicakupkan ke revisi atau lingkungan proxy API menggunakan API, seperti yang dijelaskan di bagian berikut.

Membuat kumpulan properti menggunakan API

Bagian berikut menjelaskan cara membuat kumpulan properti yang dicakupkan ke revisi atau lingkungan proxy API menggunakan API.

Membuat set properti yang dicakupkan ke revisi proxy API menggunakan API

Untuk membuat kumpulan properti yang dicakupkan ke revisi proxy API menggunakan API:

  1. Buat file kumpulan properti.
  2. Tambahkan file kumpulan properti ke paket konfigurasi proxy API.
  3. Upload paket menggunakan API Create API proxy atau Update API proxy revision.

Membuat set properti yang dicakup untuk lingkungan menggunakan API

Untuk menambahkan kumpulan properti yang dicakup ke lingkungan menggunakan API, buat file kumpulan properti, lalu upload ke lingkungan di organisasi Anda dengan mengeluarkan permintaan POST ke resource berikut: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles

Sertakan informasi berikut di permintaan Anda:

  • Tetapkan parameter kueri name ke nama kumpulan properti
  • Tetapkan parameter kueri type ke properties
  • Teruskan konten file kumpulan properti sebagai application/octet-stream atau multipart/form-data

Contoh berikut mengimpor kumpulan properti bernama MyPropSet dari file /Users/myhome/myprops.properties:

curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=MyPropSet&type=properties"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops.properties
  

$TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl.

Berikut adalah contoh responsnya.

{
  "name": "MyPropSet",
  "type": "properties"
}

Untuk informasi selengkapnya, lihat Membuat API file resource.

Melihat kumpulan properti menggunakan API

Bagian berikut menjelaskan cara melihat kumpulan properti yang dicakup untuk lingkungan menggunakan API.

Melihat semua kumpulan properti yang dicakupkan ke lingkungan menggunakan API

Untuk melihat semua kumpulan properti yang dicakup ke lingkungan menggunakan API, buat permintaan GET ke resource berikut: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties

Contoh berikut mencantumkan semua set properti di lingkungan pengujian:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties" \
  -H "Authorization: Bearer $TOKEN"
  

$TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl.

Berikut adalah contoh responsnya.

{
  "resourceFile": [
    {
      "name": "MyPropSet",
      "type": "properties"
    }
  ]
}

Untuk informasi selengkapnya, lihat API Daftar file resource lingkungan.

Melihat konten kumpulan properti yang dicakup ke lingkungan menggunakan API

Untuk melihat konten kumpulan properti yang dicakup ke lingkungan menggunakan API, buat permintaan GET ke resource berikut: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties/name

Contoh berikut menampilkan konten properti MyPropSet yang ditetapkan di lingkungan pengujian:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet" \
  -H "Authorization: Bearer $TOKEN"
  

$TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl.

Berikut adalah contoh responsnya.

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Untuk informasi selengkapnya, lihat API Daftar file resource lingkungan.

Memperbarui kumpulan properti menggunakan API

Bagian berikut menjelaskan cara memperbarui kumpulan properti yang dicakupkan ke revisi atau lingkungan proxy API menggunakan API.

Memperbarui kumpulan properti yang dicakupkan ke revisi proxy API menggunakan API

Untuk memperbarui kumpulan properti yang dicakupkan ke revisi proxy API menggunakan API:

  1. Perbarui file kumpulan properti.
  2. Download paket konfigurasi proxy API menggunakan Get API proxy revision API dengan opsi berikut:
    • Tetapkan parameter kueri format ke bundle
    • Tetapkan header Accept ke application/zip
  3. Tambahkan file kumpulan properti ke paket konfigurasi proxy API.
  4. Upload paket konfigurasi proxy API menggunakan API Update API proxy revision.

Memperbarui kumpulan properti yang dicakupkan ke lingkungan menggunakan API

Untuk memperbarui kumpulan properti yang dicakup ke lingkungan menggunakan API, perbarui file kumpulan properti, lalu upload ke lingkungan di organisasi Anda dengan mengeluarkan permintaan PUT ke resource berikut: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Sertakan informasi berikut dalam permintaan Anda:

  • Tetapkan {type} ke properties
  • Tetapkan {name} ke nama kumpulan properti yang ingin Anda perbarui
  • Teruskan konten file kumpulan properti sebagai application/octet-stream atau multipart/form-data

Contoh berikut memperbarui kumpulan properti MyPropSet menggunakan konten file /Users/myhome/myprops-revised.properties:

curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops-revised.properties
  

$TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl.

Berikut adalah contoh responsnya.

{
  "name": "MyPropSet",
  "type": "properties"
}

Untuk informasi selengkapnya, lihat Memperbarui API file resource.

Menghapus kumpulan properti menggunakan API

Bagian berikut menjelaskan cara menghapus kumpulan properti yang dicakupkan ke revisi atau lingkungan proxy API menggunakan API.

Menghapus kumpulan properti yang dicakupkan ke revisi proxy API menggunakan API

Untuk menghapus kumpulan properti yang dicakupkan ke revisi proxy API menggunakan API:

  1. Download paket konfigurasi proxy API menggunakan Get API proxy revision API dengan opsi berikut:
    • Tetapkan parameter kueri format ke bundle
    • Tetapkan header Accept ke application/zip
  2. Hapus file kumpulan properti dari paket konfigurasi proxy API.
  3. Upload paket konfigurasi proxy API menggunakan API Update API proxy revision.

Menghapus kumpulan properti yang dicakupkan ke lingkungan menggunakan API

Untuk menghapus kumpulan properti yang dicakup ke lingkungan menggunakan API, buat permintaan DELETE ke resource berikut: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Teruskan informasi berikut dengan permintaan Anda:

  • Tetapkan {type} ke properties
  • Tetapkan {name} ke nama set properti yang ingin Anda hapus

Contoh berikut menghapus kumpulan properti MyPropSet:

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet \
  -H "Authorization: Bearer $TOKEN"
  

$TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl.

Berikut adalah contoh responsnya.

{
  "name": "MyPropSet",
  "type": "properties"
}

Untuk informasi selengkapnya, lihat Menghapus API file resource.

Mengakses nilai kumpulan properti

Akses nilai kumpulan properti di mana saja di proxy API tempat Anda dapat mengakses variabel alur: dalam kebijakan, alur, kode JavaScript, dan sebagainya.

Untuk mengakses nilai dalam kumpulan properti, gunakan sintaksis berikut:

propertyset.[property_set_name].[property_name]

Dengan keterangan:

  • property_set_name adalah nama file yang Anda tentukan (jika Anda menggunakan UI) atau nilai parameter kueri name (jika Anda menggunakan API).
  • property_name adalah nama properti. Misalnya, jika kumpulan properti Anda berisi foo=bar, foo adalah nama properti dan bar adalah nilainya.

Misalnya, dalam kebijakan JavaScript, gunakan metode getVariable() untuk mendapatkan nilai dari kumpulan properti:

context.getVariable('propertyset.property_set_name.property_name);

Contoh berikut mendapatkan nilai properti foo dalam kumpulan properti yang bernama "MyPropSet":

context.getVariable('propertyset.MyPropSet.foo);

Anda juga dapat menggunakan kebijakan ExtractVariables untuk mendapatkan nilai properti dari kumpulan properti dan menetapkannya ke variabel lain, seperti yang ditunjukkan pada contoh berikut:

<ExtractVariables name="ExtractVariables-1">
   <DisplayName>Extract a portion of the url path</DisplayName>
   <Source>request</Source>
   <Variable name="propertyset.MyPropSet.foo">
      <Pattern>{myVar}</Pattern>
   </Variable>
   <VariablePrefix>foobar</VariablePrefix>
   <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

Dalam contoh ini, kebijakan membaca variabel dari atribut name, dan menetapkan nilai ke variabel dalam elemen Pattern.

Menetapkan nilai kunci kumpulan properti secara dinamis menggunakan kebijakan Tetapkan Pesan

Anda dapat menggunakan kebijakan Tetapkan Pesan untuk menetapkan nilai kunci kumpulan properti ke variabel flow secara dinamis. Untuk mengetahui detailnya, lihat deskripsi PropertySetRef dalam referensi kebijakan Tetapkan Pesan.

Untuk pengguna Apigee Hybrid

Jika Anda menggunakan Apigee hybrid, perhatikan hal berikut:

  1. Bidang pengelolaan campuran memvalidasi kumpulan properti; jika valid, properti akan disimpan di bidang pengelolaan.
  2. Synchronizer mengambil data set properti dan menyimpannya secara lokal di platform runtime.
  3. Pemroses Pesan memuat kumpulan properti yang didownload dan menyediakannya untuk menjalankan proxy.