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

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

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

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

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

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

للحصول على نموذج KVM رائع، اطّلِع على نموذج لتخزين قيم KVM مؤقتًا.

للحصول على مقدّمة عن الوحدة 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 بنطاق KVM. إحدى القيمتين organization أو environment, api, أو revision
  • proxy_name: بالنسبة إلى النطاق api فقط، اسم خادم وكيل لواجهة برمجة التطبيقات.

المرتجعات:

كائن KVM

مثال:

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

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

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

getKeys

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

تعرض هذه السمة مصفوفة تحتوي على أسماء جميع المفاتيح في KVM.

المَعلمات:

  • callback: (مطلوبة) تستخدم دالة رد الاتصال مَعلمتَين:
    • كائن Error في حال فشل العملية
    • عنصر (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
});

get

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

تعرض هذه الدالة قيمة مفتاح KVM.

المَعلمات:

  • key: (مطلوبة) سلسلة تحدّد العنصر بشكل فريد في ذاكرة التخزين المؤقت.

  • callback: (مطلوبة) تستخدم دالة رد الاتصال مَعلمتَين:

    • كائن Error في حال فشل العملية
    • الكائن الذي يحتوي على قيمة مفتاح 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);
});