আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
প্রক্সিএন্ডপয়েন্ট থেকে টার্গেটএন্ডপয়েন্টে অনুরোধের পাথ রুট নির্ধারণ করে। রাউটে API ProxyEndpoint অ্যাক্সেস করার জন্য ব্যবহৃত URL এবং TargetEndpoint দ্বারা সংজ্ঞায়িত ব্যাকএন্ড পরিষেবার URL অন্তর্ভুক্ত থাকে।
রাউটের ব্যাপারে জানতে এবং ProxyEndpoint ও TargetEndpoint-এর মধ্যে সম্পর্ক বুঝতে এই ভিডিওটি দেখুন।
API প্রক্সি এন্ডপয়েন্টের URL নির্ধারণ করা
নিচের ছবিতে একটি অ্যাপ থেকে ProxyEndpoint-এ আসা অনুরোধ এবং সেই অনুরোধটি ব্যাকএন্ড পরিষেবায় ডাইরেক্ট করা হচ্ছে তা দেখানো হয়েছে:

Edge-এ API প্রক্সি তৈরি করার পরে, প্রক্সি অ্যাক্সেস করার জন্য অ্যাপ যে ডিফল্ট URL ব্যবহার করে সেটি এই ফর্মের হয়:
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} হল এজ এনভায়রনমেন্টের নাম। ক্লাউডে তৈরি করা সব Apigee সংস্থা ডিফল্ট হিসেবে দুটি এনভায়রনমেন্টের সাথে প্রোভিশন করা হয়: 'test' ও 'prod'। API প্রক্সি ডেপ্লয় করার সময়, আপনি এক বা একাধিক এনভায়রনমেন্টে এটি ডেপ্লয় করার বিকল্প বেছে নিতে পারেন।
- আপনি API প্রক্সি তৈরি করলে, {base-path} এবং {resource-path} সংজ্ঞায়িত করা হয়।
Edge-এ কোনও অনুরোধ এলে, Edge URL পার্স করে সঠিক ProxyEndpoint-এ অনুরোধটি ডাইরেক্ট করে। যেমন, Edge-এ API প্রক্সি অ্যাক্সেস করার জন্য নিম্নলিখিত URL ব্যবহার করা হয়:
http://myOrg-prod.apigee.net/v1/weather/forecastrss
উপরের ছবিতে API প্রক্সির জন্য ProxyEndpoint সংজ্ঞা পরীক্ষা করলে, আপনি দেখতে পাবেন যে Edge কীভাবে এই URL পার্স করে:
- URL-এর ডোমেন অংশ, http://myOrg-prod.apigee.net, Edge-এ
ভার্চুয়াল হোস্টের সাথে সম্পর্কিত। উপরের ProxyEndpoint সংজ্ঞায়, API প্রক্সি
default নামের একটি ভার্চুয়াল হোস্টকে
রেফার করতে <VirtualHost> ট্যাগ ব্যবহার করে। আপনার এনভায়রনমেন্টে একাধিক ভার্চুয়াল
হোস্ট থাকতে পারে।
ভার্চুয়াল হোস্ট সেইসব ডোমেন ও পোর্টকে সংজ্ঞায়িত করে যেখানে API প্রক্সি এক্সপোজ করা হয়। এছাড়াও, ভার্চুয়াল হোস্ট API প্রক্সি HTTP প্রোটোকল ব্যবহার করে অ্যাক্সেস করা হবে নাকি এনক্রিপ্টেড HTTPS প্রোটোকল ব্যবহার করে অ্যাক্সেস করা হবে তা নির্ধারণ করে। ভার্চুয়াল হোস্ট সম্পর্কে বিস্তারিত জানতে, ভার্চুয়াল হোস্ট (বিটা) সম্পর্কে দেখুন। - URL-এর দ্বিতীয় অংশ, /v1/weather, ProxyEndpoint-এ <BasePath> এলিমেন্ট দ্বারা নির্ধারণ করা হয়। এনভায়রনমেন্টের জন্য API প্রক্সি-এর বেস পাথ অনন্য হতে হবে যাতে দুটি API প্রক্সির বেস পাথ একই না হয়।
- URL-এর তৃতীয় অংশ, /forecastrss, হল একটি রিসোর্স যা API প্রক্সি দ্বারা সংজ্ঞায়িত করা হয় এবং <Flows> ট্যাগ দ্বারা সংজ্ঞায়িত সংশ্লিষ্ট কন্ডিশনাল ফ্লো।
ভিডিও: API প্রক্সি এন্ডপয়েন্ট সম্পর্কে আরও জানতে একটি ছোট ভিডিও দেখুন।
টার্গেট এন্ডপয়েন্টের URL নির্ধারণ করা
ProxyEndpoint ডেফিনিশনে <RouteRule> ট্যাগ API প্রক্সি টার্গেট নির্ধারণ করে এবং ProxyEndpoint অনুরোধের PreFlow, Conditional Flows ও PostFlow-এর সব নীতি প্রসেস করার পরে এটি মূল্যায়ন করা হয়।
ProxyEndpoint টার্গেটকে এইভাবে নির্ধারণ করতে পারে:
- ব্যাকএন্ড পরিষেবার সরাসরি URL.
- একটি TargetEndpoint সংজ্ঞা।
- একাধিক TargetEndpoints যেখানে API প্রক্সি কোনও শর্তের ভিত্তিতে টার্গেট এন্ডপয়েন্টে অনুরোধ ডেলিগেট করে।
- নাল রুট বা টার্গেট, অর্থাৎ অনুরোধটি কোনও টার্গেটে ফরওয়ার্ড করা হয়নি। পরিবর্তে, অনুরোধের সমস্ত প্রসেসিং এবং উত্তরের জেনারেশন Edge-এ হয়।
ভিডিও: টার্গেট এন্ডপয়েন্ট সম্পর্কে আরও জানতে একটি ছোট ভিডিও দেখুন।
সরাসরি URL
ProxyEndpoint সরাসরি কোনও ব্যাকএন্ড পরিষেবা ইনভোক করতে পারে, এর জন্য কোনও নির্দিষ্ট TargetEndpoint কনফিগারেশনের প্রয়োজন হয় না। যেমন, নিম্নলিখিত <RouteRule> সবসময় http://api.mycompany.com/myAPI-তে একটি HTTP কল করে:
<RouteRule name="default"> <URL>http://api.mycompany.com/myAPI</URL> </RouteRule>
তবে, যেহেতু কোনও TargetEndpoint নেই, তাই আপনি শুধুমাত্র ProxyEndpoint-এর মাধ্যমে সংজ্ঞায়িত ফ্লোতে নীতি যোগ করতে পারবেন।
সিঙ্গেল টার্গেট
একটি টার্গেট সংজ্ঞায়, ProxyEndpoint নামের মাধ্যমে একটি TargetEndpoint সংজ্ঞাকে রেফার করে, যেমনটি উপরের ছবিতে দেখানো হয়েছে:
<RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule>
এই API প্রক্সিতে আসা সব অনুরোধ একই TargetEndpoint ডেফিনিশনে ডাইরেক্ট করা হয়। TargetEndpoint-এ <URL> ট্যাগ ব্যাকএন্ড পরিষেবার লোকেশন নির্ধারণ করে। উপরের ছবিতে, টার্গেট URL হল http://weather.yahooapis.com।
শর্তসাপেক্ষ টার্গেট
<RouteRule> ট্যাগ আপনাকে কোনও শর্তের ভিত্তিতে কোনও টার্গেটে অনুরোধ ডাইরেক্ট করতে দেয়। টার্গেট এন্ডপয়েন্ট নির্ধারণ করতে, আপনি ফ্লো ভেরিয়েবল, কোয়েরি প্যারামিটার, HTTP হেডার, মেসেজ কন্টেন্ট বা দিনের সময় ও লোকেল এর মতো প্রাসঙ্গিক তথ্য ব্যবহার করতে পারেন। যেমন, আপনি অনুরোধের URL-এ মার্কিন যুক্তরাষ্ট্র ও যুক্তরাজ্যর মতো ভৌগোলিক অঞ্চল অন্তর্ভুক্ত করতে পারেন। তারপরে, আপনি অঞ্চলের উপর ভিত্তি করে টার্গেট এন্ডপয়েন্টে অনুরোধ রুট করতে পারবেন।
নিম্নলিখিত রুট নিয়ম অনুরোধে HTTP হেডার মূল্যায়ন করে। HTTP হেডারে 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-এ ফরওয়ার্ড করার প্রয়োজন হয় না। প্রক্সি এন্ডপয়েন্ট যখন প্রয়োজনীয় সব প্রসেসিং করে, যেমন, কোনও এক্সটার্নাল পরিষেবায় কল করার জন্য জাভাস্ক্রিপ্ট ব্যবহার করে, তখন এটি কাজে লাগে।
নিচের উদাহরণে একটি নাল রুটকে সংজ্ঞায়িত করা হয়েছে:
<RouteRule name="GoNowhere"/>