आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
फ़्लो, एपीआई प्रॉक्सी के बुनियादी बनाने का अहम हिस्सा हैं. फ़्लो की मदद से, व्यवहार को प्रोग्राम किया जा सकता है की मदद से, एपीआई की मदद से नीतियों और कोड को लागू करने का क्रम कॉन्फ़िगर किया जा सकता है प्रॉक्सी.
फ़्लो की सैद्धांतिक खास जानकारी के लिए, यह कंट्रोल करना कि प्रॉक्सी सर्वर कैसे काम करता है फ़्लो के बारे में नहीं है.
इस विषय में, कंडिशनल फ़्लो बनाने और किसी फ़्लो में लॉजिक (नीतियां) जोड़ने का तरीका बताया गया है हाई लेवल पर ले जाएं. स्थितियां बनाने की कला में, इसमें बताई गई चीज़ों की तुलना में ज़्यादा जानकारी शामिल होती है विषय. इस बारे में ज़्यादा जानने के लिए, फ़्लो के बारे में खास जानकारी देखें वैरिएबल और शर्तें वाला विकल्प चुनें.
फ़्लो में नीतियां अटैच करना
Edge में कई तरह की पहले से तय की गई नीतियां मौजूद होती हैं, ताकि सुरक्षा और मैनेजमेंट को लागू किया जा सके और मैसेज में हेर-फेर करना. इसके अलावा, नीतियों की मदद से आप पूरी तरह से मैसेज को प्रोसेस करने की सुविधा को पसंद के मुताबिक बनाने के लिए किया जा सकता है.
उदाहरण के लिए:
- OAuth की सुरक्षा नीति को यहां अटैच करें ProxyEndpoint के PreFlow का अनुरोध भी किया जा सकता है. क्योंकि ProxyEndpoint का अनुरोध PreFlow पाइपलाइन का पहला फ़्लो है, जिसे आप तुरंत अगर आपका अनुरोध आपकी सुरक्षा नीतियों का उल्लंघन करता है, तो उसे अस्वीकार कर दिया जाएगा.
- JSON को एक्सएमएल कन्वर्ज़न नीति से अटैच करें TargetEndpoint का PostFlow का इस्तेमाल करके JSON से एक्सएमएल में जवाब मिला.
- JavaScript की नीति को शर्तों के साथ अटैच करना JavaScript कोड को एक्ज़ीक्यूट करने के लिए ProxyEndpoint का फ़्लो अनुरोध
कंडिशनल फ़्लो बनाने के बाद, वह नीति अटैचमेंट के लिए उपलब्ध हो जाता है. हवा के साथ चुना गया है, तो + चरण आइकॉन पर क्लिक करके नई या मौजूदा नीति का पालन करना होगा.
चुने गए फ़्लो में नीति अटैच करके, एपीआई प्रॉक्सी को कॉन्फ़िगर किया जा रहा है, ताकि सिर्फ़ उस फ़्लो यूआरआई और क्रिया के कॉम्बिनेशन के लिए किए गए अनुरोधों के लिए कोटा नीति. उदाहरण के लिए, अगर अनुरोध में, जानें फ़्लो में नीति अटैच करें. ऐसा करने पर, यहां दिया गया एक्सएमएल इन्हें प्रॉक्सी एडिटर के कोड व्यू में जनरेट किया जाता है:
<ProxyEndpoint name="default"> ... <Flow name="issue"> <Description/> <Request> <Step> <Name>Quota-2</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/issue/**") and (request.verb = "GET")</Condition> </Flow> ... </ProxyEndpoint>
इस कॉन्फ़िगरेशन में, अगर GET अनुरोध, यूआरआई के साथ एपीआई प्रॉक्सी पर आता है इसका पैटर्न .../issue/** (/issue/ जिसमें आखिरी बार फ़ॉरवर्ड करने के बाद यूआरआई में कुछ भी शामिल है) स्लैश), उस एपीआई कॉल पर कोटा लागू किया जाता है.
कंडिशनल फ़्लो के बारे में जानकारी
PreFlow या PostFlow से जुड़ी कोई भी नीति हमेशा लागू की जाती है. हालांकि, कंडीशनल फ़्लो में नीतियां सिर्फ़ तब लागू की जाती हैं, जब फ़्लो की शर्त की वैल्यू 'सही' पर सेट होती है.
अनुरोध और जवाब की प्रोसेसिंग के दौरान, हर उपयोगकर्ता के हिसाब से सिर्फ़ एक शर्त वाला फ़्लो लागू होता है सेगमेंट--पहला फ़्लो, जिसकी शर्त का आकलन सही के तौर पर होता है. इसका मतलब है कि आपके पास एक पैरामीटर हो सकता है कंडिशनल फ़्लो को हर एक के हिस्से के तौर पर एक्ज़ीक्यूट किया जाता है:
- ProxyEndpoint की अनुरोध पाइपलाइन
- TargetEndpoint के अनुरोध की पाइपलाइन
- ProxyEndpoint की रिस्पॉन्स पाइपलाइन
- TargetEndpoint की रिस्पॉन्स पाइपलाइन
वीडियो: कंडिशनल फ़्लो के बारे में ज़्यादा जानने के लिए, यह छोटा सा वीडियो देखें.
उदाहरण के लिए, नीचे दी गई ProxyEndpoint परिभाषा में कंडिशनल फ़्लो को दिखाया जाता है, जिसे एक्ज़ीक्यूट किया जाता है
एपीआई प्रॉक्सी से किए गए किसी भी HTTP GET
अनुरोध पर, ProxyEndpoint की मदद से:
<ProxyEndpoint name="default"> <PreFlow> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Condition>request.verb="GET"</Condition> <Request/> <Response/> </Flow> </Flows> <PostFlow> <Request/> <Response/> </PostFlow> ... </ProxyEndpoint>
ध्यान दें कि शर्त request.verb flow का रेफ़रंस देती है वैरिएबल के तौर पर भी सेट किया जा सकता है. फ़्लो वैरिएबल को ऐसे रेफ़रंस कहा जाता है जिनमें स्थिति से जुड़ी जानकारी होती है Edge के ज़रिए प्रोसेस किए गए API (एपीआई) लेन-देन के साथ. Edge कई स्टेट वैरिएबल को तय करता है, जिन्हें संदर्भ.
RESTful सेवाएं, एपीआई से जुड़े संसाधनों का कलेक्शन हैं. एपीआई रिसॉर्स, यूआरआई पाथ फ़्रैगमेंट होता है
जो डेवलपर आपके एपीआई को कॉल करके, ऐक्सेस की जा सकती है. उदाहरण के लिए, अगर आपके
सेवा बैकएंड, मौसम की रिपोर्ट और मौसम के पूर्वानुमान की सुविधा देता है, तो आपका एपीआई
उन एपीआई पर मैप करने वाले कंडिशनल फ़्लो
संसाधन: /reports
और /forecasts
. एपीआई कॉल करने पर
यूआरएल में उनमें से किसी एक रिसॉर्स को शामिल करता है, तो शर्त सही और लॉजिक के आधार पर आकलन करती है
कंडिशनल फ़्लो के साथ अटैच की गई फ़ाइल को एक्ज़ीक्यूट किया जाता है.
इसके बाद, ऐप्लिकेशन डेवलपर फ़ॉर्म में यूआरएल का अनुरोध करके आपके संसाधनों को ऐक्सेस करते हैं:
http://myAPIs.myCo.com/weather/reports
या:
http://myAPIs.myCo.com/weather/forecasts
एपीआई प्रॉक्सी में, आपके पास एक ऐसा कंडीशनल फ़्लो तय करने का विकल्प होता है जो किसी खास संसाधन:
<ProxyEndpoint name="default"> <PreFlow> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Condition>(proxy.pathsuffix MatchesPath "/reports")</Condition> <Request/> <Response/> </Flow> <Flow name="Flow-2"> <Condition>(proxy.pathsuffix MatchesPath "/forecasts")</Condition> <Request/> <Response/> </Flow> </Flows> <PostFlow> <Request/> <Response/> </PostFlow> ... </ProxyEndpoint>
इस उदाहरण में, आपने proxy.pathsuffix
फ़्लो वैरिएबल का रेफ़रंस दिया है,
इसमें एपीआई प्रॉक्सी को ऐक्सेस करने के लिए इस्तेमाल किए गए यूआरएल का सफ़िक्स शामिल होता है. इसके बाद, अटैच करें
हर संसाधन के लिए कंडिशनल फ़्लो के लिए अलग-अलग नीतियां बनाई होती हैं.
कंडिशनल फ़्लो जोड़ना
इस छोटे उदाहरण में, आपने एक ऐसा फ़्लो सेट अप किया है जो सिर्फ़ तब लागू होता है, जब अनुरोध मैसेज एचटीटीपी जीईटी.
कंडिशनल फ़्लो जोड़ने के लिए, एपीआई प्रॉक्सी बिल्डर में डेवलप करें टैब चुनें.
मनचाहे एंडपॉइंट में + आइकॉन पर क्लिक करें.
नया कंडिशनल फ़्लो फ़ॉर्म की मदद से, फ़्लो को नाम दिया जा सकता है और शर्त कॉन्फ़िगर की जा सकती है. इस
नीचे दिए गए उदाहरण में, एक आसान शर्त जोड़ी गई है जो
बेस पाथ के बाद किसी भी यूआरआई पर GET
वर्ब (PUT
, POST
वगैरह के उलट).
फ़्लो वैरिएबल और कंडीशनल स्टेटमेंट बनाने का तरीका जानें शर्तें.)
Flow-1 नाम का नया फ़्लो, अब Navigator मेन्यू में दिखता है.
अब ProxyEndpoint के लिए एक्सएमएल कॉन्फ़िगरेशन पर नज़र रखें. Flow-1 को चुनें नेविगेटर मेन्यू.
आपको यह कॉन्फ़िगरेशन दिखेगा.
<PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Request/> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition> </Flow> </Flows> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow>
अगले चरण
इन विषयों में, कंडिशन बनाने और उनका इस्तेमाल करने के बारे में ज़्यादा जानकारी दी गई है वैरिएबल: