الوصول إلى خرائط القيم الأساسية في Node.js

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يمكنك استخدام وحدة apigee-access للحصول على بيانات "خريطة قيم مفاتيح Edge" (KVM) من داخل تطبيق Node.js. تُعدّ طريقة استرداد "خريطة القيم الرئيسية" هذه بديلاً لاستخدام سياسة عمليات "خريطة القيم الرئيسية" لاسترداد بيانات "خريطة القيم الرئيسية" في عملية وكيل واجهة برمجة التطبيقات.

توفّر ذاكرة التخزين المؤقت لقيم المفاتيح ثباتًا طويل الأمد لأزواج مفاتيح/قيم عشوائية يمكنك استردادها أثناء وقت التشغيل. على سبيل المثال، يمكنك تخزين قيم الحصة وقيم انتهاء صلاحية رمز الوصول OAuth وقيم انتهاء صلاحية رمز إعادة تحميل OAuth في KVM لكل بيئة نشر، ثم استرداد قيم في الرمز البرمجي.

يمكنك إنشاء وحدة تحكّم في حدود الجلسة في أحد النطاقات الثلاثة التالية: organization environment وapiproxy. على سبيل المثال، إذا أنشأت جدول عناوين افتراضيًا (KVM) في نطاق وكيل واجهة برمجة التطبيقات (apiproxy) للخادم الوكيل "foo"، يمكن للخادم الوكيل "foo" فقط الوصول إلى جدول العناوين الافتراضي (KVM). أو إذا أنشأت جدول عناوين افتراضيًا (KVM) في نطاق البيئة "test"، يمكن لجميع الخوادم الوكيلة لواجهات برمجة التطبيقات التي تم نشرها في بيئة "test" في المؤسسة الوصول إلى جدول العناوين الافتراضي (KVM)، ولكن لا يمكن لأي من الخوادم الوكيلة التي تم نشرها في بيئة "prod" الوصول إليه.

بعد إنشاء جدول ربط مفاتيح القيمة باستخدام واجهة برمجة التطبيقات لإدارة البيانات أو واجهة المستخدم الخاصة بالإدارة أو سياسة عمليات ربط مفاتيح القيمة (راجِع تخزين مؤقت دائم للبيانات)، استخدِم الدوالّ الواردة هنا لاسترداد البيانات.

للحصول على نمط رائع لـ KVM، يُرجى الاطّلاع على https://community.apigee.com/content/kbentry/24906/a-pattern-for-caching-kvm-values.html.

للحصول على مقدمة عن وحدة apigee-access وميزاتها الأخرى، اطّلِع على مقالة استخدام وحدة apigee-access.

الطُرق

تعمل الطرق التالية على كل من أجهزة KVM المشفّرة وغير المشفرة.


getKeyValueMap

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

يسترجع KVM في نطاق معيّن (مؤسسة أو بيئة أو واجهة برمجة تطبيقات أو مراجعة). بعد عرض كائن KVM، استخدِم الدالتَين getKeys وget لعرض أسماء مفاتيح أو قيمة مفتاح معيّنة.

المَعلمات:

  • kvm_name: اسم وحدة تحكُّم افتراضية للأجهزة (KVM) المطلوب الوصول إليها.
  • scope: نطاق وحدة تحكّم افتراضية للأجهزة. أحد الخيارات organization أو environment, api, أو revision
  • proxy_name: في حال النطاق api فقط، اسم وكيل واجهة برمجة التطبيقات.

المرتجعات:

عنصر KVM

مثال:

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

إذا ضبطت scope على api، يجب إدخال مَعلمة ثالثة، وهي اسم خادم وكيل واجهة برمجة التطبيقات. على سبيل المثال:

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