أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
يمكنك استخدام وحدة apigee-access للحصول على بيانات خريطة قيم المفاتيح (KVM) في Edge من داخل تطبيق Node.js. تُعدّ هذه الطريقة لاسترداد خريطة قيم المفاتيح بديلاً عن استخدام
سياسة عمليات خريطة قيم المفاتيح
لاسترداد بيانات خريطة قيم المفاتيح في تدفق خادم وكيل لواجهة برمجة التطبيقات.
توفر خرائط قيم المفاتيح إمكانية الاحتفاظ على المدى الطويل بأزواج عشوائية من المفاتيح والقيم يمكنك استردادها في وقت التشغيل. على سبيل المثال، يمكنك تخزين قيم الحصص وقيم انتهاء صلاحية رموز OAuth المميزة للوصول وقيم انتهاء صلاحية الرموز المميزة لإعادة التحميل في خريطة قيم المفاتيح لكل بيئة نشر، ثم استرداد القيم في الرمز البرمجي.
يمكنك إنشاء خريطة قيم المفاتيح في أحد النطاقات الثلاثة التالية: organization,
environment, وapiproxy. على سبيل المثال، إذا أنشأت خريطة قيم المفاتيح في نطاق apiproxy للخادم الوكيل "foo"، لن يتمكّن من الوصول إلى خريطة قيم المفاتيح إلا الخادم الوكيل "foo". أما إذا أنشأت خريطة قيم المفاتيح في نطاق البيئة "test"، يمكن لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي تم نشرها في البيئة "test" لمؤسسة الوصول إلى خريطة قيم المفاتيح، ولكن لا يمكن لأي من الخوادم الوكيلة التي تم نشرها في البيئة "prod" الوصول إليها.
بعد إنشاء خريطة قيم المفاتيح باستخدام واجهة برمجة التطبيقات للإدارة أو واجهة مستخدم الإدارة أو سياسة عمليات خريطة قيم المفاتيح (راجِع التخزين المؤقت للاحتفاظ على المدى الطويل)، استخدِم الدوال الموضّحة هنا لاسترداد البيانات.
للاطّلاع على نمط رائع لخريطة قيم المفاتيح، راجِع نمط التخزين المؤقت لقيم خريطة قيم المفاتيح.
للحصول على مقدّمة عن وحدة apigee-access وميزاتها الأخرى،
راجِع مقالة استخدام وحدة apigee-access.
الطُرق
تعمل الطريقتان التاليتان على خرائط قيم المفاتيح المشفّرة وغير المشفّرة.
getKeyValueMap
var kvm = apigee.getKeyValueMap('kvm_name', 'scope'); var kvm = apigee.getKeyValueMap('kvm_name', 'api', 'proxy_name');
يستردّ خريطة قيم المفاتيح في نطاق معيّن (المؤسسة أو البيئة أو واجهة برمجة التطبيقات أو المراجعة). بعد عرض عنصر خريطة قيم المفاتيح، استخدِم الدالتَين getKeys وget لعرض أسماء المفاتيح أو قيمة مفتاح معيّن.
المعلَمات:
- kvm_name : اسم خريطة قيم المفاتيح التي تريد الوصول إليها
- scope : نطاق خريطة قيم المفاتيح يمكن أن يكون
organizationأوenvironment, api,أوrevision. - proxy_name : اسم الخادم الوكيل لواجهة برمجة التطبيقات، وذلك فقط إذا كان scope هو api
المرتجعات:
عنصر خريطة قيم المفاتيح
مثال:
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);تعرض هذه الدالة مصفوفة تحتوي على أسماء جميع المفاتيح في خريطة قيم المفاتيح.
المعلَمات:
-
callback: (مطلوبة) تستخدم دالة ردّ الاتصال مَعلمتَين:- عنصر خطأ إذا فشلت العملية
- عنصر (
keys_arrayفي المثال أعلاه) يمثّل مصفوفة أسماء مفاتيح خريطة قيم المفاتيح
المرتجعات:
مصفوفة من أسماء مفاتيح خريطة قيم المفاتيح
مثال:
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));تحصل هذه الدالة على قيمة مفتاح خريطة قيم المفاتيح.
المعلَمات:
-
key: (مطلوبة) سلسلة تحدّد العنصر في ذاكرة التخزين المؤقت بشكل فريد -
callback: (مطلوبة) تستخدم دالة ردّ الاتصال مَعلمتَين:- عنصر خطأ إذا فشلت العملية
- العنصر الذي يحتوي على قيمة مفتاح خريطة قيم المفاتيح كسلسلة
مثال:
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); });