Mengakses peta nilai kunci di Node.js

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Anda dapat menggunakan modul apigee-access untuk mendapatkan data peta nilai kunci Edge (KVM) dari dalam aplikasi Node.js. Metode pengambilan KVM ini adalah alternatif untuk menggunakan kebijakan Operasi Peta Nilai Kunci guna mengambil data KVM dalam alur proxy API.

KVM menyediakan persistensi jangka panjang key-value pair arbitrer yang dapat Anda ambil saat runtime. Misalnya, Anda dapat menyimpan nilai kuota, nilai masa berlaku token akses OAuth, dan nilai masa berlaku token refresh OAuth di KVM untuk setiap lingkungan deployment, lalu mengambil nilai dalam kode Anda.

Anda dapat membuat KVM di salah satu dari tiga cakupan: organization, environment, dan apiproxy. Misalnya, jika Anda membuat KVM pada cakupan APIProxy untuk proxy "foo", hanya proxy "foo" yang dapat mengakses KVM; atau jika Anda membuat KVM pada cakupan lingkungan "test", semua proxy API yang di-deploy di lingkungan "test" organisasi dapat mengakses KVM, tetapi tidak ada proxy yang di-deploy di lingkungan "prod" yang dapat mengaksesnya.

Setelah Anda membuat KVM dengan API pengelolaan, UI pengelolaan, atau kebijakan Operasi Peta Nilai Kunci (lihat Cache persistensi jangka panjang), gunakan fungsi di sini untuk mengambil data.

Untuk pola KVM yang bagus, lihat https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

Untuk pengantar modul apigee-access dan fitur lainnya, lihat Menggunakan modul apigee-access.

Metode

Metode berikut berfungsi pada KVM terenkripsi dan tidak dienkripsi.


getKeyValueMap

var kvm = apigee.getKeyValueMap('kvm_name', 'scope');
var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');

Mengambil KVM pada cakupan tertentu (organisasi, lingkungan, API, atau revisi). Setelah objek KVM ditampilkan, gunakan fungsi getKeys dan get untuk menampilkan nama kunci atau nilai kunci tertentu.

Parameter:

  • kvm_name - Nama KVM yang akan diakses.
  • scope - Cakupan KVM. Salah satu dari organization, environment, api, atau revision.
  • proxy_name - Untuk scope api saja, nama proxy API.

Hasil:

Objek KVM.

Contoh:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');

Jika Anda menetapkan scope ke api, parameter ketiga diperlukan - nama proxy API. Contoh:

var kvm = apigee.getKeyValueMap('my_kvm', 'api', 'myApiProxy');

getKeys

var kvmKeys = apigee.getKeys(function(err, keys_array);

Mengembalikan larik yang berisi nama semua kunci dalam KVM.

Parameter:

  • callback: (Wajib) Fungsi callback menggunakan dua parameter:
    • Objek Error jika operasi gagal.
    • Objek (keys_array dalam contoh di atas) yang mewakili array nama kunci KVM.

Hasil:

Array nama kunci KVM.

Contoh:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.getKeys(function(err, keys_array) {
    // use the array of key names here
}); 

get

kvm.get('key', function(err, key_value));

Mendapatkan nilai kunci KVM.

Parameter:

  • key: (Wajib) String yang secara unik mengidentifikasi item dalam cache.

  • callback: (Wajib) Fungsi callback menggunakan dua parameter:

    • Objek Error jika operasi gagal.
    • Objek yang berisi nilai kunci KVM sebagai String.

Contoh:

var apigee = require('apigee-access');
var kvm = apigee.getKeyValueMap('my_kvm', 'environment');
  kvm.get('foo_key', function(err, key_value) {
    // Use the key value here. For example the following assigns the value
    // to a 'kvmvalue' variable in the response, which can be used by policies:
      apigee.setVariable(response, 'kvmvalue', key_value);
});