ProxyEndpoint या TargetEndpoint फ़्लो में नीति अटैच करना

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

नीतियों को तब तक लागू नहीं किया जाता, जब तक उन्हें किसी फ़्लो से अटैच नहीं किया जाता. चरण के कॉन्फ़िगरेशन में किसी नीति को नाम देकर, नीति अटैचमेंट बनाया जा सकता है.

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

नीति अटैचमेंट का फ़ॉर्मैट यह है:

<Step>
    <Name>{policy_name}</Name>
</Step>

उदाहरण के लिए:

<Step>
    <Name>QuotaPolicy</Name>
</Step>

फ़्लो में एक नीति जोड़ी जाती है. इसके लिए, ProxyEndpoint या TargetEndpoint कॉन्फ़िगरेशन में सही अनुरोध या रिस्पॉन्स फ़्लो एलिमेंट में चरण कॉन्फ़िगरेशन को जोड़ा जाता है.

आपके पास अनुरोध या रिस्पॉन्स फ़्लो में नीति अटैच करने का विकल्प होता है. अनुरोध और रिस्पॉन्स फ़्लो को PreFlow और PostFlow अलग-अलग ग्रुप में बांटा गया है.

इस उदाहरण में, कम से कम ProxyEndpoint कॉन्फ़िगरेशन के बारे में बताया गया है. इसमें नीति का कोई अटैचमेंट शामिल नहीं किया गया है. यह बस (इनबाउंड) HTTPProxyConnection और RouteTerms को तय करता है.

<ProxyEndpoint name="default">
    <HTTPProxyConnection>
        <BasePath>/weather</BasePath>
        <VirtualHost>default</VirtualHost>
    </HTTPProxyConnection>
    <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
    </RouteRule>
</ProxyEndpoint>

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

इस कॉन्फ़िगरेशन को लागू करने के लिए, PreFlow के अनुरोध के साथ प्रोसेसिंग का एक चरण इस तरह अटैच किया जा सकता है:

<ProxyEndpoint name="default">
  <PreFlow>
    <Request>
      <Step><Name>QuotaPolicy</Name></Step>
    </Request>
  </PreFlow>
  <HTTPProxyConnection> 
    <BasePath>/weather</BasePath> 
    <VirtualHost>default</VirtualHost> 
  </HTTPProxyConnection> 
  <RouteRule name="default"> 
    <TargetEndpoint>default</TargetEndpoint> 
  </RouteRule> 
</ProxyEndpoint>

कभी-कभी, हो सकता है कि आप ProxyEndpoint पर किसी अन्य शुरुआती प्रोसेसिंग के बाद, नीति को लागू करना चाहें. उदाहरण के लिए, आपको PreFlow में कोटा की जांच करनी है, फिर कोटा की जांच होने के बाद प्रोसेसिंग का दूसरा सेट शुरू करना है, जैसे कि अनुरोध को JSON से एक्सएमएल में बदलना. ऐसा करने के लिए, PostFlow के अनुरोध के पाथ में नीति अटैच करें. नीचे एक सैंपल अनुरोध PostFlow अटैचमेंट है. PreFlow (और किसी भी कंडीशनल फ़्लो) की सभी नीतियां लागू होने के बाद, यह नीति अनुरोध के मैसेज पर लागू होगी.

<PostFlow>
  <Request>
    <Step><Name>JSONtoXMLPolicy</Name></Step>
  </Request>
</PostFlow>

रिस्पॉन्स पोस्टफ्लो अटैचमेंट का एक सैंपल नीचे दिया गया है. यह नीति, रिस्पॉन्स मैसेज पर लागू होगी. (अनुरोध करने वाले क्लाइंट ऐप्लिकेशन पर, रिस्पॉन्स को वापस लाने से पहले, ProxyEndpoint रिस्पॉन्स PostFlow को प्रोसेस करने का आखिरी चरण है.)

<PostFlow>
  <Response>
    <Step><Name>XMLtoJSONPolicy</Name></Step>
  </Response>
</PostFlow>