यह Apigee Edge के दस्तावेज़ हैं.
पर जाएं
Apigee X दस्तावेज़. info
कई बार, आपको रनटाइम के दौरान डेटा को वापस पाने के लिए सेव करना होता है. जैसे, ऐसा डेटा जिसकी समयसीमा खत्म नहीं होती और जिसे एपीआई प्रॉक्सी लॉजिक में हार्ड-कोड नहीं किया जाना चाहिए. इसके लिए, कुंजी-वैल्यू मैप (केवीएम) सबसे सही होते हैं. केवीएम, कुंजी/वैल्यू वाले स्ट्रिंग पेयर का कस्टम कलेक्शन होता है. इसे एन्क्रिप्ट (सुरक्षित) किया जा सकता है या एन्क्रिप्ट (सुरक्षित) नहीं किया जा सकता. ऐसा करने के दो उदाहरण यहां दिए गए हैं:

डेटा को सेव करने के अन्य तरीकों के बारे में जानने के लिए, कैश मेमोरी और डेटा सेव करने की सुविधा जोड़ना लेख पढ़ें.
केवीएम के इस्तेमाल के उदाहरण
यहां कुछ ऐसी स्थितियां दी गई हैं जिनमें केवीएम काम आ सकते हैं:
- आपके पास एक एपीआई प्रॉक्सी है. इसे टेस्ट एनवायरमेंट में एक टारगेट (या सर्विस कॉलआउट) यूआरएल और प्रोडक्शन एनवायरमेंट में दूसरा टारगेट यूआरएल कॉल करना है. प्रॉक्सी में यूआरएल को हार्ड-कोड करने के बजाय, प्रॉक्सी यह पता लगा सकती है कि वह किस एनवायरमेंट में है. इसके बाद, वह कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति को लागू कर सकती है. साथ ही, आपके बनाए गए किसी केवीएम से सही टारगेट यूआरएल वापस पा सकती है. इसके बाद, अगर आपके एक या दोनों टारगेट में बदलाव होता है, तो आपको केवीएम को नए यूआरएल के साथ अपडेट करना होगा. प्रॉक्सी नई वैल्यू चुनती है. इसके लिए, प्रॉक्सी को फिर से डिप्लॉय करने की ज़रूरत नहीं होती.
- आपको क्रेडेंशियल, निजी कुंजियां या टोकन सेव करने हैं. जैसे, बाहरी सेवाओं के टोकन, OAuth टोकन जनरेट करने के लिए ज़रूरी क्रेडेंशियल या Java कॉलआउट या JavaScript में एन्क्रिप्शन या JSON Web Token (JWT) पर हस्ताक्षर करने के लिए इस्तेमाल की जाने वाली निजी कुंजियां. अनुरोध में क्रेडेंशियल, कुंजियां या टोकन पास करने या उन्हें प्रॉक्सी लॉजिक में हार्ड-कोड करने के बजाय, उन्हें केवीएम (हमेशा एन्क्रिप्ट (सुरक्षित) किया गया) में सेव किया जा सकता है. साथ ही, टारगेट को कॉल करते समय उन्हें डाइनैमिक तरीके से वापस पाया जा सकता है.
आपको ऐसी अन्य स्थितियां भी मिलेंगी जिनमें कुंजी/वैल्यू वाले स्ट्रिंग पेयर को सेव करना काम का साबित हो सकता है. आम तौर पर, इन स्थितियों में केवीएम का इस्तेमाल करने पर विचार करें:
- आपके कोड में कुछ जगहों पर, रनटाइम के दौरान अलग-अलग वैल्यू की ज़रूरत होती है.
- संवेदनशील डेटा को हार्ड कोड किए बिना पास करना होता है.
- आपको ऐसी वैल्यू सेव करनी हैं जिनकी समयसीमा खत्म नहीं होती. जैसे, कैश मेमोरी में सेव की गई वैल्यू.
केवीएम का दायरा होता है
दायरे का मतलब है कि "केवीएम कहां उपलब्ध है." केवीएम को इन दायरों में बनाया जा सकता है:
organization, environment और apiproxy.
उदाहरण के लिए, अगर किसी केवीएम में मौजूद डेटा की ज़रूरत सिर्फ़ एक एपीआई प्रॉक्सी को है, तो केवीएम को
apiproxy दायरे में बनाया जा सकता है. इस दायरे में, सिर्फ़ वही एपीआई प्रॉक्सी डेटा को ऐक्सेस कर सकती है.
इसके अलावा, हो सकता है कि आपको अपने टेस्ट एनवायरमेंट में मौजूद सभी एपीआई प्रॉक्सी को कुंजी-वैल्यू मैप का ऐक्सेस देना हो. ऐसे में, आपको एनवायरमेंट के दायरे में कुंजी-वैल्यू मैप बनाना होगा. "prod" एनवायरमेंट में डिप्लॉय की गई प्रॉक्सी, "test" एनवायरमेंट के दायरे में मौजूद केवीएम को ऐक्सेस नहीं कर सकतीं. अगर आपको प्रोडक्शन में भी केवीएम की वही कुंजियां उपलब्ध करानी हैं, तो "prod" एनवायरमेंट के दायरे में एक केवीएम बनाएं.
अगर आपको सभी एनवायरमेंट में मौजूद सभी प्रॉक्सी को एक ही केवीएम का ऐक्सेस देना है, तो केवीएम को
organization दायरे में बनाएं.
एन्क्रिप्ट (सुरक्षित) किए गए केवीएम के बारे में जानकारी
एन्क्रिप्ट (सुरक्षित) किए गए केवीएम, Apigee की ओर से जनरेट की गई AES-128 सिफ़र कुंजी से एन्क्रिप्ट (सुरक्षित) किए जाते हैं. केवीएम को एन्क्रिप्ट (सुरक्षित) करने के लिए इस्तेमाल की गई कुंजी, केवीएम के दायरे में सेव की जाती है. उदाहरण के लिए, किसी संगठन में, एनवायरमेंट के दायरे में बनाए गए सभी एन्क्रिप्ट (सुरक्षित) किए गए केवीएम, एनवायरमेंट के दायरे में मौजूद एक ही कुंजी का इस्तेमाल करके बनाए जाते हैं.
Edge, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को इन तरीकों से दिखाता है. (एन्क्रिप्ट (सुरक्षित) किए गए केवीएम बनाने के बारे में जानकारी के लिए, केवीएम मैनेज करना और उनका इस्तेमाल करना लेख पढ़ें.)
Edge यूज़र इंटरफ़ेस (यूआई)
एन्क्रिप्ट (सुरक्षित) किए गए कुंजी-वैल्यू मैप में, वैल्यू को यूज़र इंटरफ़ेस (यूआई) में तारों के निशान (*****) से छिपाकर दिखाया जाता है. उदाहरण के लिए:

मैनेजमेंट एपीआई
मैनेजमेंट एपीआई में, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को छिपाकर दिखाया जाता है. एन्क्रिप्ट (सुरक्षित) किए गए केवीएम को पाने के लिए, मैनेजमेंट एपीआई कॉल का सैंपल जवाब यहां दिया गया है:
{
"encrypted": true,
"entry": [
{
"name": "Key1",
"value": "*****"
},
{
"name": "Key2",
"value": "*****"
}
],
"name": "secretMap"
}ट्रेस और डीबग करना
एन्क्रिप्ट (सुरक्षित) किए गए केवीएम की वैल्यू वापस पाने के लिए, कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति
का इस्तेमाल करते समय, आपको वैल्यू सेव करने के लिए किसी वैरिएबल का नाम देना होता है. एन्क्रिप्ट (सुरक्षित) की गई वैल्यू पाने के लिए, आपको वैरिएबल के नाम में "private." प्रीफ़िक्स जोड़ना होगा. इससे, केवीएम की कुंजियां/वैल्यू, ट्रेस और डीबग सेशन में नहीं दिखेंगी.
सीमाएं
ऐसे संगठनों के लिए जिनमें कोर परसिस्टेंस सेवाओं (सीपीएस) की सुविधा चालू है:
- केवीएम का नाम/पहचानकर्ता केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है.
- कुंजी का साइज़ 2 केबी तक सीमित है.
- वैल्यू का साइज़ 10 केबी तक सीमित है.
प्राइवेट क्लाउड के लिए Apigee Edge में, हर केवीएम का साइज़ 15 एमबी से ज़्यादा नहीं होना चाहिए. इसमें कुंजियों और वैल्यू का कुल साइज़ शामिल है. अगर यह सीमा पार हो जाती है, तो प्राइवेट क्लाउड के लिए Apigee Edge में गड़बड़ी दिखती है. अपने केवीएम का साइज़ पता करने के लिए, आप nodetool cfstats कमांड का इस्तेमाल कर सकते हैं.
बड़े केवीएम की वजह से, परफ़ॉर्मेंस खराब हो सकती है. इसलिए, परफ़ॉर्मेंस बेहतर बनाने के लिए, बड़े और मोनोलिथिक केवीएम को छोटे-छोटे केवीएम में बांटना चाहिए.
केवीएम मैनेज करना और उनका इस्तेमाल करना
केवीएम को कई तरीकों से बनाया, मैनेज किया, और इस्तेमाल किया जा सकता है. इस सेक्शन में, एन्क्रिप्ट (सुरक्षित) किए गए और एन्क्रिप्ट (सुरक्षित) नहीं किए गए केवीएम बनाने और उन्हें वापस पाने के अलग-अलग विकल्पों के बारे में बताया गया है.
केवीएम बनाना और अपडेट करना
केवीएम को इन तरीकों से बनाया और अपडेट किया जा सकता है:
-
कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति (एन्क्रिप्शन नहीं)
एपीआई प्रॉक्सी से रनटाइम के दौरान केवीएम बनाने और अपडेट करने के लिए, कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति का इस्तेमाल करें. (नीति में, पैरंट एलिमेंट के
mapIdentifierएट्रिब्यूट में केवीएम का नाम तय करें.)<InitialEntries>एलिमेंट की मदद से, नया केवीएम बनाया जा सकता है. साथ ही, इसमें एंट्री का बेसलाइन सेट भी बनाया जा सकता है. इसके लिए, यूज़र इंटरफ़ेस (यूआई) में नीति सेव करें या एपीआई प्रॉक्सी डिप्लॉय करें. अगर आपने इसे ऑफ़लाइन बनाया है, तो इसे डिप्लॉय करें. अगर नीति में वैल्यू बदलती हैं, तो मौजूदा वैल्यू बदल जाती हैं. नई कुंजियां/वैल्यू, मौजूदा केवीएम में मौजूदा कुंजियों/वैल्यू के साथ जुड़ जाती हैं.<Put>एलिमेंट, नया केवीएम बनाता है. साथ ही, यह एक या उससे ज़्यादा वैल्यू वाली कुंजी बनाता है. अगर केवीएम पहले से मौजूद है, तो कुंजी/वैल्यू जुड़ जाती हैं. अगर कुंजी पहले से मौजूद है, तो वैल्यू अपडेट हो जाती हैं. केवीएम की नीति में, एक से ज़्यादा<Put>एलिमेंट का इस्तेमाल किया जा सकता है. -
मैनेजमेंट एपीआई
मैनेजमेंट एपीआई का इस्तेमाल, एपीआई प्रॉक्सी में रनटाइम के दौरान नहीं, बल्कि एडमिन के तौर पर केवीएम के साथ काम करने के लिए किया जाता है. उदाहरण के लिए, हो सकता है कि आपके पास कोई इंटरनल स्क्रिप्ट हो. यह स्क्रिप्ट, टेस्ट एनवायरमेंट में केवीएम को मिटाने और फिर से बनाने के लिए, मैनेजमेंट एपीआई का इस्तेमाल करती हो. इसके अलावा, हो सकता है कि आपको सभी प्रॉक्सी के लिए, केवीएम में किसी कुंजी की वैल्यू रीसेट करनी हो. (केवीएम में रनटाइम के दौरान बदलाव करने के लिए, अपनी प्रॉक्सी में कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति का इस्तेमाल करें).
कुंजी/वैल्यू मैप के मैनेजमेंट एपीआई की मदद से, एन्क्रिप्ट (सुरक्षित) किए गए केवीएम और कुंजियां/वैल्यू बनाई, अपडेट, और मिटाई जा सकती हैं. इन्हें सभी दायरों (संगठन, एनवायरमेंट, और एपीआई प्रॉक्सी) में बनाया, अपडेट, और मिटाया जा सकता है.
मैनेजमेंट एपीआई की मदद से, एन्क्रिप्ट (सुरक्षित) किया गया केवीएम बनाने के लिए, JSON पेलोड में
"encrypted" : "true"जोड़ें. केवीएम को सिर्फ़ बनाते समय एन्क्रिप्ट (सुरक्षित) किया जा सकता है. मौजूदा केवीएम को एन्क्रिप्ट (सुरक्षित) नहीं किया जा सकता. -
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई)
Edge के मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में, एनवायरमेंट के दायरे में मौजूद केवीएम बनाए और अपडेट किए जा सकते हैं. यूज़र इंटरफ़ेस (यूआई) में, केवीएम का सिर्फ़ यही दायरा दिखता है. मैनेजमेंट यूज़र इंटरफ़ेस (यूआई), एपीआई प्रॉक्सी के लिए रनटाइम के दौरान, केवीएम डेटा को मैन्युअल तरीके से मैनेज करने का एक अच्छा तरीका है. ज़्यादा जानकारी के लिए, एनवायरमेंट के दायरे में कुंजी-वैल्यू मैप बनाना और उनमें बदलाव करना लेख पढ़ें.
केवीएम वापस पाना
एन्क्रिप्ट (सुरक्षित) किए गए और एन्क्रिप्ट (सुरक्षित) नहीं किए गए कुंजी-वैल्यू मैप को एक ही तरीके से वापस पाया जाता है. हालांकि, कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति की मदद से वापस पाने पर, इसमें थोड़ा अंतर होता है. जब कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति की मदद से वापस पाया जाता है.
- नीति: एन्क्रिप्ट (सुरक्षित) किए गए और एन्क्रिप्ट (सुरक्षित) नहीं किए गए केवीएम को वापस पाने के लिए,
<Get>एलिमेंट का इस्तेमाल कुंजी-वैल्यू मैप की कार्रवाइयों से जुड़ी नीति में करें. नीति की मदद से एन्क्रिप्ट (सुरक्षित) की गई वैल्यू वापस पाने में थोड़ा अंतर होता है. इसके लिए, आपको उस वैरिएबल के नाम में "private." प्रीफ़िक्स जोड़ना होगा जिसमें वापस पाई गई वैल्यू सेव की जाएगी. इसके बारे में, रेफ़रंस वाले विषय के 'Get' कार्रवाई सेक्शन में बताया गया है. यह प्रीफ़िक्स, एपीआई प्रॉक्सी को डीबग करते समय, वैल्यू को ट्रेस और डीबग सेशन से छिपाता है. - मैनेजमेंट एपीआई: एडमिन के तौर पर मैनेजमेंट के मकसद से, केवीएम और कुंजियां/वैल्यू पाने के लिए, एनवायरमेंट के दायरे में कुंजी-वैल्यू मैप बनाना और उनमें बदलाव करना लेख पढ़ें. उदाहरण के लिए, अगर आपको JSON परिभाषाएं पाकर और सेव करके, केवीएम का बैकअप लेना है, तो मैनेजमेंट एपीआई का इस्तेमाल करें. हालांकि, ध्यान रखें कि एपीआई के जवाब में, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू ***** के तौर पर दिखती हैं.
- मैनेजमेंट यूज़र इंटरफ़ेस (यूआई): एनवायरमेंट के दायरे में मौजूद केवीएम को मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में देखा जा सकता है. इसके लिए, एपीआई > एनवायरमेंट कॉन्फ़िगरेशन > कुंजी-वैल्यू मैप (क्लासिक Edge) या एडमिन > एनवायरमेंट > कुंजी-वैल्यू मैप (नया Edge) पर जाएं.
केवीएम का उदाहरण
यूआरएल में वैल्यू भरने के लिए, केवीएम का इस्तेमाल करने का उदाहरण देखने के लिए, एनवायरमेंट के हिसाब से केवीएम की मदद से टारगेट यूआरएल को टेंप्लेट में बदलना लेख पढ़ें.