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 merupakan alternatif dari penggunaan kebijakan Operasi Peta Nilai Kunci untuk 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 habis masa berlaku token akses OAuth, dan nilai habis masa berlaku token refresh OAuth di KVM untuk setiap lingkungan deployment, lalu mengambil nilai tersebut dalam kode Anda.

Anda dapat membuat KVM di salah satu dari tiga cakupan: organization, environment, dan apiproxy. Misalnya, jika Anda membuat KVM di cakupan apiproxy untuk proxy "foo", hanya proxy "foo" yang dapat mengakses KVM; atau jika Anda membuat KVM pada cakupan lingkungan "pengujian", semua proxy API yang di-deploy di lingkungan "pengujian" 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 Pembuatan cache persistensi jangka panjang), gunakan fungsi di sini untuk mengambil data.

Untuk mengetahui 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 akses apigee.

Metode

Metode berikut berfungsi pada KVM yang dienkripsi 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.
  • cakupan - Cakupan KVM. Salah satu dari organization, environment, api,, atau revision.
  • proxy_name - Nama proxy API saja untuk cakupan api.

Hasil:

Objek KVM.

Contoh:

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

Jika Anda menetapkan cakupan 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);

Menampilkan array yang berisi nama semua kunci di 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
}); 

dapatkan

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

Mendapatkan nilai kunci KVM.

Parameter:

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

  • 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);
});