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

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

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

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

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

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

केवीएम पैटर्न के बारे में जानने के लिए, केवीएम वैल्यू को कैश मेमोरी में सेव करने का पैटर्न लेख पढ़ें.

apigee-access मॉड्यूल और इसकी अन्य सुविधाओं के बारे में जानने के लिए, apigee-access मॉड्यूल का इस्तेमाल करना लेख पढ़ें.

तरीके

ये तरीके, एन्क्रिप्ट (सुरक्षित) किए गए और एन्क्रिप्ट (सुरक्षित) नहीं किए गए, दोनों तरह के केवीएम पर काम करते हैं.


getKeyValueMap

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

यह किसी खास स्कोप (संगठन, एनवायरमेंट, एपीआई या वर्शन) पर मौजूद केवीएम को वापस लाता है. KVM ऑब्जेक्ट वापस मिलने के बाद, getKeys और get फ़ंक्शन का इस्तेमाल करके, कुंजी के नाम या किसी खास कुंजी की वैल्यू वापस पाएं.

पैरामीटर:

  • kvm_name - यह ऐक्सेस किए जाने वाले KVM का नाम है.
  • scope - केवीएम का स्कोप. 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);
});