मुख्य वैल्यू वाले मैप के साथ काम करना

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

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

अन्य तरह की परसिस्टेंस के बारे में जानने के लिए, यहां देखें कैश मेमोरी और परसिस्टेंस जोड़ना.

केवीएम की स्थितियां

यहां कुछ ऐसी स्थितियां दी गई हैं जिनमें केवीएम का इस्तेमाल किया जा सकता है:

  • आपके पास एक एपीआई प्रॉक्सी है, जिसे टेस्ट के दौरान एक टारगेट (या सेवा कॉलआउट) के यूआरएल को कॉल करना है एनवायरमेंट और अन्य टारगेट यूआरएल की मदद से तैयार किया जाता है. यूआरएल की हार्ड-कोडिंग करने के बजाय की मदद से, आप प्रॉक्सी को यह पता लगाने के लिए कह सकते हैं कि वह किस परिवेश में है और संबंधित वैल्यू मैप ऑपरेशन की नीति सेट करें और किसी एक केवीएम से सही टारगेट यूआरएल पाएं बनाया गया. इसके बाद, अगर आपका एक या दोनों टारगेट बदल जाते हैं, तो आप केवीएम को नए यूआरएल पर भी लागू होता है. प्रॉक्सी नई वैल्यू चुनती है और प्रॉक्सी को दोबारा डिप्लॉय करने की ज़रूरत नहीं होती.
  • आप क्रेडेंशियल, निजी कुंजियां या टोकन—जैसे कि बाहरी कुकी के लिए टोकन संग्रहित करना चाहते हैं सेवाएं, OAuth टोकन या निजी पासकोड जनरेट करने के लिए ज़रूरी क्रेडेंशियल का इस्तेमाल Java कॉलआउट या JavaScript में एन्क्रिप्ट (सुरक्षित) करने या JSON वेब टोकन (JWT) साइनिंग के लिए किया जाता है. इसके बजाय अनुरोध में क्रेडेंशियल, कुंजियां या टोकन पास करना या उन्हें अपने प्रॉक्सी लॉजिक में हार्ड कोड करना, तो उन्हें केवीएम (हमेशा एन्क्रिप्टेड) में स्टोर किया जा सकता है. साथ ही, की ज़रूरत होती है.

आपको ऐसी अन्य स्थितियों का पता चलेगा जहां कुंजी/वैल्यू वाले स्ट्रिंग पेयर को स्टोर करना फ़ायदेमंद होता है. तय सीमा में सामान्य, केवीएम का इस्तेमाल तब करें, जब:

  • आपके कोड में कुछ खास जगहों पर, रनटाइम के दौरान अलग-अलग वैल्यू की ज़रूरत होती है.
  • संवेदनशील जानकारी को हार्ड कोड किए बिना पास किया जाना चाहिए.
  • आपको उन वैल्यू को सेव करना है जो कैश मेमोरी की तरह काम करती हैं.

केवीएम का दायरा होता है

स्कोप का मतलब है, "जब केवीएम उपलब्ध है." केवीएम इन स्कोप में बनाए जा सकते हैं: organization, environment, और apiproxy.

उदाहरण के लिए, अगर सिर्फ़ एक एपीआई प्रॉक्सी को केवीएम में डेटा की ज़रूरत होती है, तो apiproxy स्कोप का इस्तेमाल करें, जहां सिर्फ़ वही एपीआई प्रॉक्सी ही डेटा ऐक्सेस कर सकता है.

इसके अलावा, ऐसा भी हो सकता है कि टेस्ट एनवायरमेंट में मौजूद सभी एपीआई प्रॉक्सी को 'की वैल्यू मैप' का ऐक्सेस मिले. इस मामले में, एनवायरमेंट के स्कोप पर एक की वैल्यू मैप बनाया जाएगा. इसमें प्रॉक्सी को डिप्लॉय किया गया है "प्रोडक्शन" "टेस्ट" में एनवायरमेंट केवीएम को ऐक्सेस नहीं कर सकता शामिल हैं. अगर आपको एक जैसी केवीएम चाहिए प्रोडक्शन में उपलब्ध रहने के लिए, "प्रोडक्शन" के लिए पैरलल केवीएम के स्कोप वाला एक जैसे स्कोप बनाएं पर्यावरण को ध्यान में रखते हुए काम करना.

अगर आपको सभी एनवायरमेंट में सभी प्रॉक्सी को एक ही केवीएम का ऐक्सेस देना है, तो organization दायरा.

एन्क्रिप्ट (सुरक्षित) किए गए केवीएम के बारे में जानकारी

एन्क्रिप्ट (सुरक्षित) किए गए केवीएम, Apigee से जनरेट की गई AES-128 साइफ़र कुंजी की मदद से एन्क्रिप्ट किए जाते हैं. इसके लिए इस्तेमाल की गई कुंजी केवीएम को एन्क्रिप्ट (सुरक्षित) करने की सुविधा, केवीएम के स्कोप पर सेव होती है. उदाहरण के लिए, संगठन में सभी एनवायरमेंट के स्कोप पर बनाए गए एन्क्रिप्ट किए गए केवीएम, उसी एनवायरमेंट के स्कोप का इस्तेमाल करके बनाए जाते हैं बटन दबाएं.

Edge, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को इन तरीकों से दिखाता है. एन्क्रिप्ट (सुरक्षित) किए गए केवीएम बनाने के बारे में जानने के लिए, केवीएम मैनेज और इस्तेमाल करना लेख पढ़ें.

Edge यूज़र इंटरफ़ेस (यूआई)

एन्क्रिप्ट (सुरक्षित) किए गए पासकोड वैल्यू वाले मैप, यूज़र इंटरफ़ेस (*****) में स्टार के निशान वाली वैल्यू दिखाते हैं. इसके लिए उदाहरण:

प्रबंधन API

management API में, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को मास्क करके दिखाया जाता है. मैनेजमेंट का सैंपल नीचे दिया गया है एन्क्रिप्ट (सुरक्षित) किए गए KVM कॉल पर एपीआई से जवाब:

{
  "encrypted": true,
  "entry": [
    {
      "name": "Key1",
      "value": "*****"
    },
    {
      "name": "Key2",
      "value": "*****"
    }
  ],
  "name": "secretMap"
}

ट्रेस और डीबग करना

जब की वैल्यू मैप ऑपरेशन की नीति का इस्तेमाल किया जाता है का इस्तेमाल करके, एन्क्रिप्ट (सुरक्षित) की गई KVM वैल्यू को फिर से पाने के लिए, आपको वैल्यू. एन्क्रिप्ट (सुरक्षित) की गई वैल्यू पाने के लिए, आपको "private." जोड़ना होगा उपसर्ग के साथ वैरिएबल का नाम डालें, जो KVM कुंजियों/वैल्यू को ट्रेस और डीबग सेशन में दिखने से रोकता है.

सीमाएं

ऐसे संगठनों में कोर परसिस्टेंस सर्विसेज़ (सीपीएस) चालू हैं:

  • केवीएम का नाम/आइडेंटिफ़ायर केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है.
  • कुंजी का साइज़ 2 केबी से ज़्यादा नहीं होना चाहिए.
  • वैल्यू का साइज़ 10 केबी तक सीमित है.

प्राइवेट क्लाउड के लिए Apigee Edge के लिए, हर केवीएम का साइज़ 15 एमबी से ज़्यादा नहीं होना चाहिए. यह कुंजियों और वैल्यू का कुल साइज़ है. इस सीमा को पार करने पर, Private Cloud के लिए Apigee Edge पर गड़बड़ी का मैसेज दिखता है. केवीएम का साइज़ तय करने के लिए, nodetool cfstats आदेश.

केवीएम ज़्यादा बड़े होने से, परफ़ॉर्मेंस में गिरावट आ सकती है. इस वजह से, आपको इमेज को बड़ा, परफ़ॉर्मेंस को बेहतर बनाने के लिए, मोनोलिथिक केवीएम को छोटे चैनलों में बदल दिया गया है.

केवीएम मैनेज और इस्तेमाल करना

केवीएम बनाने, मैनेज, और उनका इस्तेमाल कई तरीकों से किया जा सकता है. इस सेक्शन में, अलग-अलग प्लैटफ़ॉर्म के बारे में बताया गया है केवीएम बनाने और फिर वापस पाने के विकल्प.

केवीएम बनाना और अपडेट करना

केवीएम बनाने और उन्हें अपडेट करने के लिए, ये तरीके अपनाएं:

  • की वैल्यू मैप ऑपरेशन की नीति (कोई एन्क्रिप्शन नहीं)

    रनटाइम केवीएम बनाने और अपने एपीआई प्रॉक्सी से अपडेट करने के लिए, की वैल्यू मैप ऑपरेशन की नीति. (नीति में, केवीएम का नाम पैरंट के लिए mapIdentifier एट्रिब्यूट element.)

    <InitialEntries> एलिमेंट की मदद से, जैसे ही आप यूज़र इंटरफ़ेस (यूआई) में नीति को सेव करेंगे या एपीआई प्रॉक्सी (अगर आपने इसे ऑफ़लाइन डेवलप किया है). अगर नीति में वैल्यू बदल जाती हैं, तो मौजूदा मान ओवरराइट हो जाते हैं. कोई भी नई कुंजी/वैल्यू मौजूदा केवीएम में, मौजूदा कुंजियों/मानों के आधार पर फ़िल्टर किया जा सकता है.

    अगर कोई चीज़ नहीं कर पाती है, तो <Put> एलिमेंट एक नया केवीएम बनाता है मौजूद है और एक या उससे ज़्यादा वैल्यू वाली कुंजी बना देता है. अगर केवीएम पहले से मौजूद है, तो उन्हें कुंजी/वैल्यू जोड़ दी जाती हैं (या अगर कुंजी पहले से मौजूद होती है, तो उन्हें अपडेट कर दिया जाता है). Google Analytics 4 पर माइग्रेट करने के लिए, केवीएम नीति में कई <Put> एलिमेंट शामिल हैं.

  • मैनेजमेंट एपीआई

    मैनेजमेंट एपीआई, रनटाइम के दौरान एडमिन के तौर पर केवीएम के साथ काम करने के लिए होता है आपके एपीआई प्रॉक्सी में. उदाहरण के लिए, आपके पास एक इंटरनल स्क्रिप्ट हो सकती है जो मैनेजमेंट का इस्तेमाल करती है केवीएम को मिटाने और उसे फिर से बनाने के लिए, टेस्ट एनवायरमेंट में एपीआई का इस्तेमाल करें या किसी कुंजी की वैल्यू रीसेट करें का इस्तेमाल कर सकते हैं. (KVM के रनटाइम में बदलाव करने के लिए, की वैल्यू मैप ऑपरेशन की नीति आपकी प्रॉक्सी में शामिल है.

    Key/Value Maps Management API इसकी मदद से, एन्क्रिप्ट (सुरक्षित) की गई केवीएम और कुंजियों/वैल्यू को बनाया जा सकता है, अपडेट किया जा सकता है, और मिटाया जा सकता है सभी दायरा (संगठन, एनवायरमेंट, और एपीआई प्रॉक्सी).

    मैनेजमेंट एपीआई की मदद से एन्क्रिप्ट (सुरक्षित) किया गया केवीएम बनाने के लिए, JSON पेलोड में "encrypted" : "true" जोड़ें. केवीएम बनाते समय ही एन्क्रिप्ट (सुरक्षित) किए जा सकते हैं उन्हें. मौजूदा केवीएम को एन्क्रिप्ट (सुरक्षित) नहीं किया जा सकता.

  • मैनेजमेंट यूज़र इंटरफ़ेस (यूआई)

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

केवीएम वापस पाना

आपको एन्क्रिप्ट (सुरक्षित) की गई और एन्क्रिप्ट नहीं की गई कुंजी की वैल्यू को, थोड़े बदलाव के साथ एक ही तरीके से वापस पाया जाता है की वैल्यू मैप ऑपरेशंस की नीति के ज़रिए जानकारी हासिल करते समय.

  • नीति: यहां <Get> एलिमेंट का इस्तेमाल किया जा सकता है: की वैल्यू मैप ऑपरेशन की नीति का इस्तेमाल करें. बस एक मामूली अंतर है नीति की मदद से एन्क्रिप्ट (सुरक्षित) की गई वैल्यू वापस पाना, जहां आपको "private." जोड़ना होगा वैरिएबल के नाम के लिए प्रीफ़िक्स है, जिसमें रीट्राइव की गई वैल्यू होगी, जैसा कि कार्रवाई वाला सेक्शन पाएं हटा दें. वह प्रीफ़िक्स, ट्रेस और डीबग से वैल्यू को छिपा देता है सेशन की जानकारी शामिल की जा सकती है.
  • Management API: एडमिन मैनेजमेंट से जुड़े कामों के लिए, आपके पास एनवायरमेंट की वैल्यू मैप बनाना और उनमें बदलाव करना का इस्तेमाल करें. उदाहरण के लिए, अगर आपको JSON की परिभाषाएं पाने और उन्हें सेव करके, केवीएम का बैक अप लेने के लिए, मैनेजमेंट एपीआई का इस्तेमाल करें. ध्यान रखें, हालांकि, एन्क्रिप्ट की गई वैल्यू, एपीआई से मिले रिस्पॉन्स में ***** के तौर पर दिखती हैं.
  • मैनेजमेंट यूज़र इंटरफ़ेस (यूआई): मैनेजमेंट पेज में, एनवायरमेंट के स्कोप वाले केवीएम देखे जा सकते हैं यूज़र इंटरफ़ेस (यूआई) पर जाकर, एपीआई > एनवायरमेंट का कॉन्फ़िगरेशन > मुख्य वैल्यू वाले मैप (क्लासिक एज) या एडमिन > एनवायरमेंट > की वैल्यू वाले मैप (नया एज).

KVM का उदाहरण

यूआरएल में वैल्यू भरने के लिए केवीएम का इस्तेमाल करने का उदाहरण देखने के लिए, यह देखें https://community.apigee.com/questions/32727/templatize-target-url-with-kvm-by-environment.html.