रास्तों को समझना

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

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

रास्तों के बारे में जानकारी पाने के लिए यह वीडियो देखें. ProxyEndpoint और TargetEndpoint.

एपीआई प्रॉक्सी का यूआरएल तय करना एंडपॉइंट

नीचे दी गई इमेज में, किसी ऐप्लिकेशन से ProxyEndpoint में आने वाले अनुरोध को दिखाया गया है और अनुरोध को बैकएंड सेवा पर भेजने का अनुरोध किया जा रहा है:

Edge पर एपीआई प्रॉक्सी बनाने के बाद, वह डिफ़ॉल्ट यूआरएल जिसका इस्तेमाल ऐप्लिकेशन, प्रॉक्सी को ऐक्सेस करने के लिए करता है यह फ़ॉर्म है:

http://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}

https://{org-name}-{env-name}.apigee.net/{base-path}/{resource-path}

कहां:

  • {org-name} यह है आपके संगठन का नाम. Edge पर खाता बनाने पर, यह नाम इस्तेमाल किया जाता है.
  • {env-name} Edge के एनवायरमेंट का नाम. डिफ़ॉल्ट रूप से, क्लाउड में बनाए गए सभी Apigee संगठन दो एनवायरमेंट के साथ प्रावधान किया गया: 'test' और 'prod'. एपीआई प्रॉक्सी को डिप्लॉय करते समय, इसे किसी एक या दोनों एनवायरमेंट में डिप्लॉय किया जा सकता है.
  • {base-path} और {base-path} को तब तय किया जाता है, जब तो एपीआई प्रॉक्सी बनाते हैं.

जब Edge पर कोई अनुरोध आता है, तो Edge, अनुरोध को सही पेज पर ले जाने के लिए यूआरएल को पार्स करता है ProxyEndpoint. उदाहरण के लिए, Edge पर एपीआई प्रॉक्सी को ऐक्सेस करने के लिए नीचे दिए गए यूआरएल का इस्तेमाल किया जाता है:

http://myOrg-prod.apigee.net/v1/weather/forecastrss

ऊपर दी गई इमेज में, अगर आपने एपीआई प्रॉक्सी के लिए ProxyEndpoint की परिभाषा की जांच की है, तो आपको इस URL को Edge से कैसे पार्स किया जाता है:

  1. यूआरएल का डोमेन वाला हिस्सा, http://myOrg-prod.apigee.net, डोमेन के हिस्से से मेल खाता है Edge पर वर्चुअल होस्ट तक सीमित करें. ऊपर दी गई ProxyEndpoint परिभाषा में, एपीआई प्रॉक्सी <VirtualHost> टैग का इस्तेमाल करता है default नाम के वर्चुअल होस्ट का रेफ़रंस दें. एक से ज़्यादा वर्चुअल इवेंट जोड़े जा सकते हैं आपके एनवायरमेंट में तय किए गए होस्ट.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है वर्चुअल होस्ट उन डोमेन और पोर्ट को तय करता है जिन पर एपीआई प्रॉक्सी को दिखाया जाता है. वर्चुअल होस्ट यह भी तय करता है कि एपीआई प्रॉक्सी को एचटीटीपी प्रोटोकॉल का इस्तेमाल करके ऐक्सेस किया जा रहा है या एन्क्रिप्ट (सुरक्षित) किए गए एचटीटीपीएस प्रोटोकॉल. वर्चुअल होस्ट के बारे में ज़्यादा जानकारी पाने के लिए, वर्चुअल होस्ट (बीटा वर्शन) के बारे में जानकारी लेख पढ़ें.
  2. यूआरएल के दूसरे हिस्से, /v1/weather, को <BasePath> एलिमेंट ProxyEndpoint. एनवायरमेंट के लिए एपीआई प्रॉक्सी का बेस पाथ यूनीक होना चाहिए, ताकि दो एपीआई प्रॉक्सी में एक जैसा बेस पाथ नहीं होता.
  3. यूआरएल का तीसरा हिस्सा, /forecastrss, एक ऐसा संसाधन है जिसे <Flows> टैग के ज़रिए तय की गई संबंधित शर्तों के साथ फ़्लो वाला एपीआई प्रॉक्सी.

वीडियो: एपीआई प्रॉक्सी एंडपॉइंट के बारे में ज़्यादा जानने के लिए, यह छोटा सा वीडियो देखें.

टारगेट एंडपॉइंट का यूआरएल तय करना

<RouteRule> टैग ProxyEndpoint की परिभाषा, एपीआई प्रॉक्सी का टारगेट तय करती है और इसका आकलन ProxyEndpoint के अनुरोध के PreFlow, शर्तों के हिसाब से फ़्लो, और PostFlow की नीतियों के तहत, प्रोसेस किया गया.

ProxyEndpoint, टारगेट को इस तरह तय कर सकता है:

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

वीडियो: टारगेट एंडपॉइंट के बारे में ज़्यादा जानने के लिए यह छोटा सा वीडियो देखें.

डायरेक्ट यूआरएल

ProxyEndpoint, किसी भी TargetEndpoint को बायपास करके सीधे बैकएंड सेवा शुरू कर सकता है कॉन्फ़िगरेशन. उदाहरण के लिए, नीचे दिया गया <RouteRule> हमेशा एक एचटीटीपी बनाती है http://api.mycompany.com/myAPI: पर कॉल करें

<RouteRule name="default">
  <URL>http://api.mycompany.com/myAPI</URL> 
</RouteRule>

हालांकि, कोई TargetEndpoint नहीं है, इसलिए सिर्फ़ तय की गई फ़्लो में नीतियां जोड़ी जा सकती हैं की मदद से टारगेट किया जा सकता है.

एक ही टारगेट

टारगेट की एक ही परिभाषा में, ProxyEndpoint सिर्फ़ एक TargetEndpoint की परिभाषा का रेफ़रंस देता है जैसा कि ऊपर दी गई इमेज में दिखाया गया है:

<RouteRule name="default">
  <TargetEndpoint>default</TargetEndpoint>
</RouteRule>

इस एपीआई प्रॉक्सी के सभी अनुरोध, एक ही TargetEndpoint परिभाषा पर भेजे जाते हैं. कॉन्टेंट बनाने &lt;URL&gt; टैग TargetEndpoint, बैकएंड सेवा की जगह तय करता है. ऊपर दी गई इमेज में, टारगेट यूआरएल http://weather.yahooapis.com है.

शर्तों के साथ तय किए गए टारगेट

&lt;RouteRule&gt; टैग का इस्तेमाल करके आप किसी शर्त के आधार पर किसी टारगेट को अनुरोध भेजते हैं. आप फ़्लो वैरिएबल, क्वेरी पैरामीटर, एचटीटीपी हेडर, मैसेज का कॉन्टेंट या काम की जानकारी, जैसे कि दिन का समय और स्थान-भाषा का इस्तेमाल करें. उदाहरण के लिए, किसी भौगोलिक क्षेत्र को शामिल किया जा सकता है, जैसे कि US और यूनाइटेड किंगडम के, अनुरोध वाले यूआरएल में शामिल हैं. इसके बाद, अनुरोध को टारगेट एंडपॉइंट पर भेजा जा सकता है. क्षेत्र.

नीचे दिया गया रूट नियम, किसी अनुरोध में एचटीटीपी हेडर का आकलन करता है. अगर एचटीटीपी हेडर routeTo का मान है TargetEndpoint1, फिर अनुरोध को TargetEndpoint1 नाम के TargetEndpoint पर फ़ॉरवर्ड किया जाता है. अगर ऐसा नहीं होता है, तो अनुरोध को फ़ॉरवर्ड कर दिया जाता है TargetEndpoint2 को भेजना.

<RouteRule name="MyRoute">
  <Condition>request.header.routeTo = "TargetEndpoint1"</Condition>
  <TargetEndpoint>TargetEndpoint1</TargetEndpoint>
</RouteRule>
<RouteRule name="default">
 <TargetEndpoint>TargetEndpoint2</TargetEndpoint>
</RouteRule>

अगर आपके पास रास्ते के कई नियम हैं, तो किसी एक नियम को 'डिफ़ॉल्ट' के तौर पर सेट करें यानी उसे रूट के तौर पर सेट करें बिना किसी शर्त के नियम. पक्का करें कि सूची में डिफ़ॉल्ट रास्ते का नियम आखिरी में तय किया गया हो क्योंकि नियमों का मूल्यांकन ProxyEndpoint में टॉप-डाउन करके किया जाता है.

शर्तों के साथ दिखाए जाने वाले रास्ते भी देखें और शर्तों के बारे में जानकारी.

वीडियो: इसका इस्तेमाल करके टारगेट एंडपॉइंट पर रूट करने का तरीका जानने के लिए, यह छोटा सा वीडियो देखें शर्तों के हिसाब से तय किए गए टारगेट.

शून्य रूट

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

नीचे दिए गए उदाहरण में शून्य रूट के बारे में बताया गया है:

<RouteRule name="GoNowhere"/>

ज़्यादा जानें