גישה למפות של ערכים מרכזיים ב-Node.js

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

אפשר להשתמש במודול apigee-access כדי לקבל נתוני מפת ערכי מפתח של Edge (KVM) מתוך אפליקציית Node.js. השיטה הזו לאחזור KVM היא חלופה לשימוש במדיניות Key Value Map Operations לאחזור נתוני KVM בתהליך של שרת proxy ל-API.

מכונות KVM מספקות עקביות לטווח ארוך של צמדי מפתח/ערך שרירותיים שאפשר לאחזר בזמן ריצה. לדוגמה, אתם יכולים לשמור ערכי מכסות, ערכי תפוגה של אסימון גישה ל-OAuth וערכי תפוגה של אסימון רענון של OAuth ב-KVM לכל סביבת פריסה. לאחר מכן תוכלו לאחזר את הערכים שבקוד.

אפשר ליצור KVM באחד משלושת ההיקפים: organization, environment ו-apiproxy. לדוגמה, אם יוצרים KVM בהיקף ה-apiproxy עבור שרת ה-proxy "foo", רק לשרת ה-proxy "foo" תהיה גישה ל-KVM. או אם יוצרים KVM בהיקף סביבת "test", כל שרתי ה-proxy של ה-API שפרוסים בסביבת "test" של הארגון יכולים לגשת ל-KVM, אבל לאף אחד משרתי ה-proxy שנפרסו בסביבת "prod" אין גישה.

אחרי שיוצרים KVM באמצעות ממשק ה-API לניהול, ממשק המשתמש לניהול או מדיניות הפעולות במפת ערך המפתח (מידע נוסף זמין במאמר שמירה במטמון לטווח ארוך), אפשר להשתמש בפונקציות שמפורטות כאן כדי לאחזר את הנתונים.

בקישור הבא אפשר למצוא דפוס KVM מעולה: https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

כדי לקבל מבוא למודול apigee-access ולתכונות האחרות שלו, אפשר לעיין במאמר שימוש במודול הגישה לממשקי API.

שיטות

השיטות הבאות פועלות במכונות KVM מוצפנות ולא מוצפנות.


getKeyValueMap

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

אחזור של KVM בהיקף מסוים (ארגון, סביבה, ממשק API או גרסה קודמת). אחרי שאובייקט ה-KVM מוחזר, משתמשים בפונקציות getKeys ו-get כדי להחזיר את שמות המפתח או ערך מפתח ספציפי.

פרמטרים:

  • kvm_name – שם ה-KVM שיש לגשת אליו.
  • scope – ההיקף של ה-KVM. אחד מתוך organization, environment, api, או revision.
  • proxy_name – בproxy_name של api בלבד, השם של שרת ה-proxy של ה-API.

החזרות:

אובייקט KVM.

דוגמה:

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

אם מגדירים את scope כ-api, נדרש פרמטר שלישי – השם של שרת ה-API של שרת ה-proxy. לדוגמה:

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

getKeys

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

מחזירה מערך שמכיל את השמות של כל המפתחות ב-KVM.

פרמטרים:

  • callback: (חובה) פונקציית הקריאה החוזרת משתמשת בשני פרמטרים:
    • אובייקט שגיאה אם הפעולה נכשלת.
    • אובייקט (keys_array בדוגמה שלמעלה) שמייצג את המערך של שמות מפתחות KVM.

החזרות:

מערך של שמות מפתחות KVM.

דוגמה:

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

מקבלים

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

הפונקציה מקבלת את הערך של מפתח KVM.

פרמטרים:

  • key: (חובה) מחרוזת שמזהה באופן ייחודי את הפריט במטמון.

  • callback: (חובה) פונקציית הקריאה החוזרת משתמשת בשני פרמטרים:

    • אובייקט שגיאה אם הפעולה נכשלת.
    • האובייקט שמכיל את הערך של מפתח KVM כמחרוזת.

דוגמה:

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