আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
ভূমিকা
সমস্যা সমাধানের সময়, আপনি রাউটার বা মেসেজ প্রসেসরের মতো Apigee কম্পোনেন্টগুলোর বিরুদ্ধে সরাসরি API চালাতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি নিম্নলিখিত কারণে এটি করতে চাইতে পারেন:
- নির্দিষ্ট কিছু এপিআই অনুরোধের মাঝে মাঝে হওয়া সমস্যাগুলো ডিবাগ করুন, যা কোনো একটি বিশেষ Apigee কম্পোনেন্টের (রাউটার/মেসেজ প্রসেসর) সমস্যার দিকে ইঙ্গিত করে।
- Apigee কম্পোনেন্টের কোনো নির্দিষ্ট ইনস্ট্যান্সে ডিবাগ মোড চালু করে আরও ডায়াগনস্টিক তথ্য সংগ্রহ করুন।
- সমস্যাটি কোনো নির্দিষ্ট Apigee কম্পোনেন্টের কারণে হচ্ছে না, তা নিশ্চিত করুন।
- নতুন ইনস্ট্যান্স তৈরি করা বা ইনস্ট্যান্সটি পুনরায় চালু করার মতো অপারেশনগুলির কাঙ্ক্ষিত প্রভাব আছে কিনা তা খুঁজে বের করুন।
পূর্বশর্ত
- রাউটার বা মেসেজ প্রসেসর কম্পোনেন্টগুলোতে সরাসরি অ্যাক্সেস, যেগুলোর বিপরীতে এপিআই অনুরোধগুলো চালাতে হবে।
- কম্পোনেন্টটির নির্দিষ্ট ইনস্ট্যান্সে cURL টুলটি ইনস্টল করতে হবে।
আপনি যে এপিআই অনুরোধটি পরীক্ষা করতে চান, তা cURL ফরম্যাটে থাকতে হবে।
উদাহরণস্বরূপ, এখানে একটি
curlকমান্ড দেওয়া হলো যা আপনি আপনার লোকাল মেশিন থেকে একটি এপিআই প্রক্সিতে (API proxy) অনুরোধ পাঠানোর জন্য ব্যবহার করতে পারেন:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'curl https://myorg-test.mycompany.com/v1/customers
Apigee রাউটারগুলিতে সরাসরি API অনুরোধগুলি কীভাবে চালাবেন
দৃশ্যকল্প ১: রাউটার নির্দেশকারী হোস্ট অ্যালিয়াসে পাঠানো এপিআই অনুরোধ
যদি হোস্ট অ্যালিয়াসের DNS এন্ট্রি Apigee Edge রাউটারগুলোকে নির্দেশ করার জন্য কনফিগার করা থাকে (অর্থাৎ, কোনো ইলাস্টিক লোড ব্যালেন্সার (ELB) না থাকে), তাহলে আপনি সরাসরি একটি রাউটারে API রিকোয়েস্ট পাঠানোর জন্য নিম্নলিখিত curl কমান্ডগুলো ব্যবহার করতে পারেন:
পোর্ট ৮০ এর মাধ্যমে অসুরক্ষিত যোগাযোগের জন্য কনফিগার করা ভার্চুয়াল হোস্ট।
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'উদাহরণস্বরূপ:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'ভার্চুয়াল হোস্টটি রাউটারের ৪৪৩ পোর্টে SSL টার্মিনেট করার জন্য কনফিগার করা হয়েছে।
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'উদাহরণস্বরূপ:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
দৃশ্যকল্প ২: ELB-কে নির্দেশকারী হোস্ট অ্যালিয়াসে পাঠানো API অনুরোধ
যদি হোস্ট অ্যালিয়াসের DNS এন্ট্রিটি একটি ইলাস্টিক লোড ব্যালেন্সার (ELB)-কে নির্দেশ করার জন্য কনফিগার করা থাকে, তাহলে আপনি সরাসরি রাউটারে API অনুরোধ পাঠানোর জন্য নিম্নলিখিত curl কমান্ডগুলো ব্যবহার করতে পারেন:
পোর্ট ৮০ এর মাধ্যমে অসুরক্ষিত যোগাযোগের জন্য কনফিগার করা ভার্চুয়াল হোস্ট।
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'উদাহরণস্বরূপ:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'একটি উচ্চ পোর্ট এবং SSL-এর জন্য কনফিগার করা ভার্চুয়াল হোস্টটি Apigee রাউটারের সামনে থাকা একটি লোড ব্যালান্সারে টার্মিনেট হয়।
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'উদাহরণস্বরূপ:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'ভার্চুয়াল হোস্টটি একটি উচ্চ পোর্টের জন্য কনফিগার করা হয়েছে এবং SSL Apigee রাউটারে টার্মিনেট হয়।
অন্য কথায়, লোড ব্যালেন্সারটি Apigee রাউটারে TCP পাস-থ্রু ব্যবহার করার জন্য কনফিগার করা হয়েছে।
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'উদাহরণস্বরূপ:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
Apigee মেসেজ প্রসেসরের বিরুদ্ধে সরাসরি অনুরোধ কীভাবে চালাবেন
দৃশ্যকল্প ১: ডিফল্ট পোর্ট ৮৯৯৮ এর মাধ্যমে মেসেজ প্রসেসরের কাছে এপিআই অনুরোধ
Apigee রাউটার থেকে আসা ট্র্যাফিক শোনার জন্য মেসেজ প্রসেসরের ডিফল্ট পোর্ট হলো ৮৯৯৮। সুতরাং, যেসব ক্ষেত্রে এই পোর্টটি পরিবর্তন করা হয়নি, সেসব ক্ষেত্রে ট্র্যাফিক সরাসরি একটি নির্দিষ্ট মেসেজ প্রসেসর ইনস্ট্যান্সের এই পোর্টে পাঠাতে হবে, যেমনটি নিচের উদাহরণে দেখানো হয়েছে। `curl` রিকোয়েস্টটি http://INTERNAL_IP_OF_MP:8998 ইউআরএল-এ পাঠাতে হবে এবং এর সাথে X-Apigee.Host হেডারটি যুক্ত করতে হবে, যার ভ্যালু হবে `hostname` এবং এতে ভার্চুয়াল হোস্টগুলোতে ব্যবহৃত পোর্টটি অন্তর্ভুক্ত থাকবে, যেমনটি নিচের তিনটি উদাহরণে দেখানো হয়েছে:
রাউটারে ভার্চুয়াল হোস্টটি SSL টার্মিনেশনের জন্য কনফিগার করা আছে।
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'উদাহরণস্বরূপ:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'ভার্চুয়াল হোস্ট একটি "হাই পোর্ট"-এর জন্য কনফিগার করা থাকে এবং SSL টার্মিনেশন একটি লোড ব্যালান্সার অথবা একটি Apigee রাউটারে সম্পন্ন হয়:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'উদাহরণস্বরূপ:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'ভার্চুয়াল হোস্টটি ডিফল্ট http পোর্ট ৮০-তে কনফিগার করা হয়েছে।
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'উদাহরণস্বরূপ:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
দৃশ্যকল্প ২: SSL পোর্ট ৮৪৪৩ এর মাধ্যমে মেসেজ প্রসেসরের কাছে API অনুরোধ
রাউটার এবং মেসেজ প্রসেসরের মধ্যে SSL কমিউনিকেশন কনফিগার করা সম্ভব। নিম্নলিখিত উদাহরণগুলিতে ৮৪৪৩ পোর্ট ব্যবহার করা হয়েছে, যা Apigee ডকুমেন্টেশনে প্রস্তাবিত পোর্ট।
রাউটারে ভার্চুয়াল হোস্টটি SSL টার্মিনেশনের জন্য কনফিগার করা আছে।
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'উদাহরণস্বরূপ:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'ভার্চুয়াল হোস্টটি একটি লোড ব্যালান্সারে SSL টার্মিনেশনের জন্য কনফিগার করা হয়েছে, এবং ট্র্যাফিক একটি উচ্চ পোর্টে রাউটারে ফরোয়ার্ড করা হয়।
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'উদাহরণস্বরূপ:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'