Node.js में मुख्य वैल्यू वाले मैप ऐक्सेस करना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

Node.js ऐप्लिकेशन में Edge की-वैल्यू मैप (KVM) का डेटा पाने के लिए, apigee-access मॉड्यूल का इस्तेमाल किया जा सकता है. केवीएम वापस पाने का यह तरीका, की वैल्यू मैप की ऑपरेशन नीति का इस्तेमाल करने का एक विकल्प है. इससे केवीएम का डेटा, एपीआई प्रॉक्सी फ़्लो में वापस पाया जाता है.

KVM, किसी भी की/वैल्यू पेयर को लंबे समय तक सेव रखते हैं. इन्हें रनटाइम पर वापस पाया जा सकता है. उदाहरण के लिए, हर डिप्लॉयमेंट एनवायरमेंट के लिए, कोटा की वैल्यू, OAuth ऐक्सेस टोकन की समयसीमा खत्म होने की वैल्यू, और OAuth रीफ़्रेश टोकन की समयसीमा खत्म होने की वैल्यू को KVM में सेव किया जा सकता है. इसके बाद, अपने कोड में वैल्यू को फिर से पाया जा सकता है.

केवीएम बनाने के लिए, इन तीन स्कोप में से किसी एक का इस्तेमाल किया जा सकता है: organization, environment, और apiproxy. उदाहरण के लिए, अगर "foo" प्रॉक्सी के लिए, एपीआई प्रॉक्सी के दायरे में एक केवीएम बनाया जाता है, तो सिर्फ़ "foo" प्रॉक्सी ही केवीएम को ऐक्सेस कर सकती है. इसके अलावा, अगर "टेस्ट" एनवायरमेंट के दायरे में एक केवीएम बनाया जाता है, तो किसी संगठन के "टेस्ट" एनवायरमेंट में डिप्लॉय की गई सभी एपीआई प्रॉक्सी, केवीएम को ऐक्सेस कर सकती हैं. हालांकि, "प्रॉडक्शन" एनवायरमेंट में डिप्लॉय की गई कोई भी प्रॉक्सी, केवीएम को ऐक्सेस नहीं कर सकती.

मैनेजमेंट एपीआई, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) या 'की वैल्यू मैप' पर कार्रवाइयों की नीति (लॉन्ग टर्म परसिस्टेंस कैश मेमोरी' देखें) की मदद से केवीएम बनाने के बाद, डेटा पाने के लिए यहां दिए गए फ़ंक्शन का इस्तेमाल करें.

बेहतरीन 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 को वापस लाता है. केवीएम ऑब्जेक्ट मिलने के बाद, कुंजी के नाम या कोई खास वैल्यू दिखाने के लिए, getKeys और get फ़ंक्शन का इस्तेमाल करें.

पैरामीटर:

  • kvm_name - ऐक्सेस किए जाने वाले KVM का नाम.
  • scope - KVM का दायरा. organization, environment, api, या revision में से कोई एक.
  • proxy_name - सिर्फ़ api के scope के लिए, एपीआई प्रॉक्सी का नाम.

लौटाए जाने वाले प्रॉडक्ट:

केवीएम ऑब्जेक्ट.

उदाहरण:

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 बटन के नामों का कलेक्शन.

उदाहरण:

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: (ज़रूरी है) कॉलबैक फ़ंक्शन में दो पैरामीटर का इस्तेमाल किया जाता है:

    • कार्रवाई पूरी न होने पर, गड़बड़ी वाला ऑब्जेक्ट.
    • यह ऑब्जेक्ट, स्ट्रिंग के तौर पर 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);
});