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

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

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

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

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

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

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

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

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

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

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

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

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

इस कॉन्फ़िगरेशन को लागू करने के लिए, अनुरोध के 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>

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

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

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

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