नीति क्या है?

यहां Apigee Edge से जुड़े दस्तावेज़ देखे जा रहे हैं.
Apigee X
से जुड़े दस्तावेज़ पर जाएं.
info

Apigee Edge की मदद से, बिना कोई कोड लिखे एपीआई के व्यवहार को 'प्रोग्राम' किया जा सकता है. इसके लिए, 'नीतियों' का इस्तेमाल किया जाता है. नीति, एक मॉड्यूल की तरह होती है. यह मॉड्यूल, मैनेजमेंट का कोई खास और सीमित फ़ंक्शन लागू करता है. नीतियों को इस तरह से डिज़ाइन किया गया है कि इनकी मदद से, किसी एपीआई में मैनेजमेंट की सामान्य सुविधाएं आसानी से और भरोसेमंद तरीके से जोड़ी जा सकें. नीतियों में सुरक्षा, दर की सीमा तय करने, बदलाव करने, और मीडिएशन की सुविधाएं मिलती हैं. इससे आपको इन सुविधाओं के लिए खुद से कोडिंग करने और इन्हें बनाए रखने की ज़रूरत नहीं पड़ती.

आपके पास Apigee Edge की ओर से उपलब्ध कराए गए नीति के टाइप के सेट तक ही सीमित रहने का विकल्प नहीं है. आपके पास कस्टम स्क्रिप्ट और कोड (जैसे, JavaScript और Node.js ऐप्लिकेशन) लिखने का भी विकल्प होता है. इससे एपीआई प्रॉक्सी की सुविधाओं को बढ़ाया जा सकता है. साथ ही, Apigee की नीतियों के तहत उपलब्ध कराई जाने वाली मैनेजमेंट की बुनियादी सुविधाओं को बेहतर बनाया जा सकता है.

नीति को अटैच करने और लागू करने के बारे में जानने के लिए, यह वीडियो देखें.

नीति के टाइप

तकनीकी तौर पर, नीति एक्सएमएल फ़ॉर्मैट वाली कॉन्फ़िगरेशन फ़ाइल होती है. नीति के हर टाइप की संरचना (उदाहरण के लिए, ज़रूरी और वैकल्पिक कॉन्फ़िगरेशन एलिमेंट) को एक्सएमएल स्कीमा से तय किया जाता है. अगर आपको एक्सएमएल टूल इस्तेमाल करने का अनुभव है, तो Github पर मौजूद API Platform के सैंपल में, नीति के स्कीमा के बारे में जानना फ़ायदेमंद साबित हो सकता है.

Edge की नीतियों के टाइप को, काम के हिसाब से इन कैटगरी में बांटा गया है:

ट्रैफ़िक मैनेजमेंट

ट्रैफ़िक मैनेजमेंट कैटगरी में मौजूद नीतियों की मदद से, एपीआई प्रॉक्सी के ज़रिए भेजे जाने वाले अनुरोध और रिस्पॉन्स मैसेज के फ़्लो को कंट्रोल किया जा सकता है. ये नीतियां, ऑपरेशनल और कारोबार, दोनों लेवल पर कंट्रोल करने की सुविधा देती हैं. इनकी मदद से, रॉ थ्रूपुट को कंट्रोल किया जा सकता है. साथ ही, हर ऐप्लिकेशन के हिसाब से ट्रैफ़िक को भी कंट्रोल किया जा सकता है. ट्रैफ़िक मैनेजमेंट नीति के टाइप की मदद से, कोटा लागू किया जा सकता है. साथ ही, सेवा से जुड़ी गड़बड़ी के हमलों को कम करने में भी मदद मिलती है.

सुरक्षा

सुरक्षा कैटगरी में मौजूद नीतियां, पुष्टि करने, अनुमति देने के साथ-साथ, कॉन्टेंट के हिसाब से सुरक्षा की सुविधा देती हैं.

मीडिएशन

मीडिएशन कैटगरी में मौजूद नीतियों की मदद से, एपीआई प्रॉक्सी के ज़रिए भेजे जाने वाले मैसेज में बदलाव किया जा सकता है. इनकी मदद से, मैसेज के फ़ॉर्मैट को बदला जा सकता है. जैसे, एक्सएमएल से JSON (और इसके उलट) या एक एक्सएमएल फ़ॉर्मैट से दूसरे एक्सएमएल फ़ॉर्मैट में बदला जा सकता है. इनकी मदद से, मैसेज को पार्स भी किया जा सकता है. साथ ही, नए मैसेज जनरेट किए जा सकते हैं और भेजे जाने वाले मैसेज की वैल्यू बदली जा सकती हैं. मीडिएशन की नीतियां, एपीआई सेवाओं की ओर से उपलब्ध कराई जाने वाली बुनियादी सेवाओं के साथ भी इंटरैक्ट करती हैं. इससे, रनटाइम के दौरान ऐप्लिकेशन, डेवलपर, सुरक्षा टोकन, और एपीआई प्रॉडक्ट के बारे में डेटा वापस पाया जा सकता है.

Extension

Extension कैटगरी में मौजूद नीतियों की मदद से, एपीआई सेवाओं की एक्सटेंसिबिलिटी का इस्तेमाल करके, अपनी पसंद की प्रोग्रामिंग भाषा में कस्टम व्यवहार लागू किया जा सकता है.

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

नीति में किए गए बदलावों को डिप्लॉय करना

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

नीति लागू होने की पुष्टि करना

यह पुष्टि करने के लिए कि कोई नीति सही तरीके से लागू की गई है, एपीआई को एचटीटीपी क्लाइंट से कॉल किया जाना चाहिए. कोटा कॉन्फ़िगरेशन की पुष्टि करने के लिए, एपीआई को कई अनुरोध सबमिट करें. साथ ही, कोटा नीति में सेट की गई कोटा की सीमा से ज़्यादा अनुरोध सबमिट करें. नीचे दिए गए अनुरोध में, यूआरआई पाथ को ProxyEndpoint में बेस पाथ सेटिंग के तौर पर कॉन्फ़िगर किया गया है. यह पाथ /weather है.

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

एक मिनट के अंदर एक से ज़्यादा अनुरोध सबमिट करने पर, आपको गड़बड़ी का यह मैसेज दिखेगा:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

इससे पता चलता है कि एपीआई सेवाओं की ओर से, कोटा नीति लागू की जा रही है.

नीति के आधार पर गड़बड़ी को ठीक करना

गड़बड़ी के ऊपर दिए गए मैसेज के फ़ॉर्मैट पर ध्यान दें. इसमें एक faultstring प्रॉपर्टी और एक errorcode प्रॉपर्टी शामिल होती है. कई मामलों में, इन गड़बड़ियों को ठीक करने के लिए, कुछ व्यवहार लागू करना ज़रूरी होता है. उदाहरण के लिए, हो सकता है कि आपको किसी ऐसे डेवलपर को अपनी पसंद के मुताबिक मैसेज भेजना हो जिसके ऐप्लिकेशन ने कोटा की सीमा पार कर ली है.

गड़बड़ी को ठीक करने के बारे में ज़्यादा जानने के लिए, गड़बड़ियों को ठीक करना लेख पढ़ें.

सबसे सही तरीके: नीति के सामान्य सेट

मैनेजमेंट की बुनियादी ज़रूरतों को पूरा करने के लिए, एपीआई प्रॉक्सी आम तौर पर इन नीतियों को लागू करती हैं:

एपीआई पासकोड की बुनियादी पुष्टि

ProxyEndpoint के अनुरोध का फ़्लो:
  1. SpikeArrest
  2. XMLThreatProtection या JSONThreatProtection
  3. एपीआई पासकोड की पुष्टि
  4. Quota
  5. ResponseCache
ProxyEndpoint के रिस्पॉन्स का फ़्लो:
  1. ResponseCache

बुनियादी बदलाव: JSON से एक्सएमएल

अनुरोध का फ़्लो:
  1. SpikeArrest
  2. JSONThreatProtection
  3. एपीआई पासकोड की पुष्टि
  4. Quota
  5. JSONToXML
रिस्पॉन्स का फ़्लो:
  1. XMLToJSON
  2. ResponseCache