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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

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

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

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

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

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

للاطّلاع على مقدمة عن وحدة 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 - نطاق KVM. إما organization أو environment, api, أو revision
  • proxy_name: بالنسبة إلى 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);
});