বিকাশকারী সরঞ্জামগুলি

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

পরিষেবা প্রদানকারী হিসেবে, ক্লায়েন্ট অ্যাপের ব্যবহারের জন্য আপনি API ডেভেলপ করেন। API প্রক্সি ও API প্রোডাক্ট তৈরি, কনফিগার ও পরিচালনা করতে, আপনি UI ব্যবহার করতে পারেন অথবা RESTful পরিষেবা অ্যাক্সেস করতে, API-তে HTTP অনুরোধ করতে পারেন, যেমনটি নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।

Edge UI ব্যবহার করা

Apigee Edge UI হল একটি ব্রাউজার-ভিত্তিক টুল যা আপনি API প্রক্সি এবং API প্রোডাক্ট তৈরি, কনফিগার ও ম্যানেজ করতে ব্যবহার করতে পারেন। API ব্যবহার করেও শুধুমাত্র টাস্কের একটি সাবসেট সম্পূর্ণ করা যায়, এছাড়াও।

Edge UI কীভাবে অ্যাক্সেস করবেন তা নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে:

প্রোডাক্ট UI নাম URL অ্যাক্সেস করা
Edge Edge UI

Edge UI অ্যাক্সেস করতে, নিম্নলিখিত URL ব্যবহার করুন:

https://apigee.com/edge

Edge UI ব্যবহার করার টিউটোরিয়াল পেতে, আপনার প্রথম API প্রক্সি তৈরি করুন দেখুন।

প্রাইভেট ক্লাউডের জন্য Edge  ক্লাসিক Edge UI

Edge for Private Cloud-এর জন্য Edge UI অ্যাক্সেস করতে, নিম্নলিখিত URL ব্যবহার করুন:

http://ms-ip:9000

যেখানে ms-ip হল ম্যানেজমেন্ট সার্ভার নোডের IP অ্যাড্রেস বা DNS নাম।

Edge UI ব্যবহার করে, আপনি এগুলি করতে পারবেন:

  • কোড এডিট করে এবং আপনার প্রক্সির মাধ্যমে অনুরোধের ফ্লো ট্র্যাক করে API প্রক্সি তৈরি করুন।
  • ক্লায়েন্টের অনুরোধের এক্সপোজারের জন্য প্রক্সি বান্ডেল করে এমন API প্রোডাক্ট তৈরি করুন।
  • ডেভেলপার ও ডেভেলপার অ্যাপ ম্যানেজ করা।
  • আপনার টেস্ট ও প্রোডাকশন এনভায়রনমেন্ট কনফিগার করুন।
  • JavaScript ও Node.js অ্যাপ্লিকেশন প্রয়োগ করা।

নিম্নলিখিত ছবিতে UI-তে API প্রক্সি এডিটর দেখানো হয়েছে যা আপনি API প্রক্সি তৈরি ও কনফিগার করতে ব্যবহার করতে পারবেন:

Edge UI-তে API প্রক্সি এডিটরে বেছে নেওয়া 'ডেভেলপ' ট্যাব দেখায়।

Edge API ব্যবহার করা

আপনার API রিসোর্স ম্যানেজ করতে Edge API ব্যবহার করতে পারবেন। এছাড়াও, API-গুলি এমন লো-লেভেল ক্ষমতা প্রদান করে যা UI-এর মাধ্যমে প্রকাশিত হয় না।

API এন্ডপয়েন্টগুলি প্রায়ই কনফিগারেশন সংক্রান্ত তথ্য সহ ডেটা নেয় এবং সেগুলি অ্যাক্সেস করার জন্য আপনাকে ব্যবহারকারীর নাম ও পাসওয়ার্ডের মতো যাচাইকরণ সংক্রান্ত তথ্য পাস করতে হয়। RESTful নীতি অনুসরণ করে, আপনি যেকোনও API রিসোর্সে HTTP GET, POST, PUT এবং DELETE পদ্ধতি কল করতে পারবেন।

Apigee Edge API-এর সম্পূর্ণ তালিকা দেখতে, Apigee Edge API রেফারেন্স দেখুন।

Edge API বেস পাথ বোঝা

API অনুরোধে আপনি যে পাথ ব্যবহার করবেন তা নিম্নলিখিত বিষয়গুলিকে একত্রিত করে:

  • আপনার সংস্থার নাম সহ বেস পাথ। যেমন: https://api.enterprise.apigee.com/v1/organizations/org_name
  • আপনি যে Edge রিসোর্স অ্যাক্সেস করছেন সেটির দিকে নির্দেশ করে এমন একটি এন্ডপয়েন্ট।

যেমন, আপনার প্রতিষ্ঠানের নাম apibuilders হলে, API-তে করা প্রতিটি কলের জন্য নিম্নলিখিত বেস পাথ ব্যবহার করা হবে:

https://api.enterprise.apigee.com/v1/organizations/apibuilders

আপনার প্রতিষ্ঠানে API প্রক্সিগুলির তালিকা পেতে, আপনাকে এখানে GET কল করতে হবে:

https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis

অনেক রিসোর্স এনভায়রনমেন্টের মাধ্যমে স্কোপ করা হয়। দুটি এনভায়রনমেন্ট ডিফল্ট হিসেবে প্রদান করা হয়: টেস্ট ও প্রোডাকশন। যেমন, এনভায়রনমেন্ট অনুযায়ী ক্যাশে স্কোপ করা হয়। প্রতিটি এনভায়রনমেন্টে ডিফল্ট হিসেবে "mycache" নামের একটি শেয়ার করা ক্যাশে অন্তর্ভুক্ত থাকে।

আপনি নিম্নলিখিত উপায়ে ক্যাশে রিসোর্সে GET কল করে ক্যাশে তালিকাভুক্ত করতে পারবেন:

https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches

অ্যাক্সেস যাচাই করা

API কল করার সময় আপনাকে API সার্ভারে নিজেকে যাচাই করিয়ে নিতে হবে। আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটিতে এটি করতে পারেন:

এছাড়াও, Apigee সাজেস্ট করে যে আপনি দুই-ধাপে যাচাইকরণ ব্যবহার করুন, যেমনটি আপনার Apigee অ্যাকাউন্টের জন্য দুই-ধাপে যাচাইকরণ চালু করুন লিঙ্কে বর্ণনা করা হয়েছে।

Edge API সংক্রান্ত সীমা

প্রতিটি সংস্থার জন্য নিম্নলিখিত Edge API কল রেট সীমিত করা হয়েছে:

  • পেড প্ল্যান ব্যবহারকারী প্রতিষ্ঠানের জন্য প্রতি মিনিটে ১০,০০০ কল
  • ট্রায়াল সংস্থার জন্য প্রতি মিনিটে ৬০০টি কল

HTTP স্ট্যাটাস কোড 401 ও 403 এই সীমার মধ্যে অন্তর্ভুক্ত নয়। এইসব সীমা ছাড়িয়ে যাওয়া যেকোনও কলের জন্য 429 Too Many Requests স্ট্যাটাস কোড রিটার্ন করা হয়।

Edge API-এর সাথে কাজ করার ব্যাপারে পরামর্শ

এই বিভাগে এমন কিছু কৌশল বর্ণনা করা হয়েছে যা Edge API-এর সাথে কাজ করাকে আরও সহজ করে তোলে।

অনুরোধ করা URL-এর সংক্ষিপ্ত রূপ

Edge API-তে অনুরোধ URL তৈরি করার সময়, আপনি নিম্নলিখিত সংক্ষিপ্ত শব্দ ব্যবহার করতে পারবেন:

  • /e = /environments
  • /o = /organizations
  • /r = /revisions

আপনি সংক্ষিপ্ত শব্দ ব্যবহার করলে, আপনাকে অবশ্যই সেগুলি সামঞ্জস্যপূর্ণভাবে ব্যবহার করতে হবে। অর্থাৎ, উপরে উল্লেখ করা এবং নিচে দেখানো উদাহরণে যেভাবে দেখানো হয়েছে সেইভাবে পাথ এর সব এলিমেন্টের সংক্ষিপ্ত নাম লিখুন অথবা কোনও সংক্ষিপ্ত নাম লিখবেন না। একই পাথে সম্পূর্ণ ও সংক্ষিপ্ত এলিমেন্ট ব্যবহার করলে সমস্যা হবে।

যেমন:

THIS:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments
CAN BE MUCH SHORTER:
https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments

curl কমান্ড এক্সিকিউট করা

API-তে অনুরোধ করার জন্য একটি HTTP ক্লায়েন্ট ব্যবহার করুন। ডকুমেন্টেশনে দেওয়া অনেক উদাহরণ curl ব্যবহার করে API অনুরোধের নমুনা প্রদান করে, এটি একটি বহুল ব্যবহৃত HTTP ক্লায়েন্ট। curl ইনস্টল করার প্রয়োজন হলে, http://curl.haxx.se লিঙ্ক থেকে ডাউনলোড করতে পারবেন।

API-তে কল করলে, উত্তর gzip কম্প্রেশন সাপোর্ট করে। আপনি API কলে 'Accept-Encoding: gzip, deflate' সেট করলে, ১০২৪ বাইটের চেয়ে বড় যেকোনও উত্তর gzip ফর্ম্যাটে ফেরত দেওয়া হয়।

XML ও JSON অনুরোধ ও উত্তর ফর্ম্যাট করা

Edge API ডিফল্ট হিসেবে JSON ফর্ম্যাটে ডেটা রিটার্ন করে। অনেক অনুরোধের ক্ষেত্রে, আপনি XML হিসেবে উত্তর পেতে পারেন। এটি করতে, Accept অনুরোধ হেডারকে application/xml হিসেবে সেট করুন, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

curl -H "Authorization: Bearer `get_token`" \
  -H "Accept: application/xml" \
  https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  | xmllint --format -

উত্তরটি এই ধরনের হওয়া উচিত:

<List>
  <Item>SOAP-Message-Validation-1</Item>
  <Item>Spike-Arrest-1</Item>
  <Item>XML-to-JSON-1</Item>
</List>

মনে রাখবেন, এই উদাহরণে prettyprint ব্যবহার করে xmllint-এর মাধ্যমে পাইপ করে ফলাফল দেখানো হয়েছে।

acurl ইউটিলিটি Accept হেডারকে সাপোর্ট করে না। এর ফলে, আপনি শুধুমাত্র acurl সহ JSON-ফর্ম্যাট করা উত্তর পাবেন।

JSON উত্তরের জন্য prettyprint ব্যবহার করতে, আপনি json.tool Python লাইব্রেরি ব্যবহার করতে পারেন:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer `get_token`" \
  | python -m json.tool

উত্তরের একটি উদাহরণ নিচে দেওয়া হল:

[
  "SOAP-Message-Validation-1",
  "Spike-Arrest-1",
  "XML-to-JSON-1"
]

XML-এর জন্য, আপনি xmllint ব্যবহার করতে পারেন:

curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -

XML-এ পেলোড POST বা PUT করার সময়, Content-type HTTP হেডার ব্যবহার করুন:

acurl -H "Content-type:text/xml" -X POST -d \
'<XMLPayload>
 </XMLPayload> ' \
https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address

ডিপ্লয়মেন্ট এনভায়রনমেন্ট

Apigee Edge ব্যবহারকারী প্রতিটি সংস্থার ডিফল্ট হিসেবে অন্তত দুটি এনভায়রনমেন্ট থাকে যা তারা API ডেভেলপ, টেস্ট ও ডিপ্লয় করার জন্য ব্যবহার করতে পারে: "test" ও "prod"। আপনার API সর্বজনীনভাবে উপলভ্য করার আগে সেগুলি ডেভেলপ ও পরীক্ষা করতে "টেস্ট" এনভায়রনমেন্ট ব্যবহার করুন। টেস্ট এনভায়রনমেন্টে ডিপ্লয় করা API শুধুমাত্র আপনার ইন্টার্নাল ডেভেলপাররাই অ্যাক্সেস করতে পারবেন। অ্যাপ ডেভেলপারদের জন্য আপনার API সর্বজনীনভাবে উপলভ্য করতে, সেগুলিকে "prod" এনভায়রনমেন্টে ডিপ্লয় করুন।

ডিবাগিং ও টেস্টিং

Apigee-তে ট্রেস টুল আছে যা আপনাকে এন্ড-টু-এন্ড অনুরোধ ও উত্তর ফ্লো ডিবাগ করতে দেয়। ট্রেস ফলাফলে অনুরোধ ও উত্তরের হেডার ও পেলোড, নীতি প্রয়োগ, ভেরিয়েবল ভ্যালু এবং ফ্লো চলাকালীন হওয়া যেকোনও সমস্যা দেখানো হয়।

সমস্যার সমাধান করার জন্য ব্যবহার করা গুরুত্বপূর্ণ ডেটা পয়েন্ট:

  • টাইমস্ট্যাম্প: প্রতিটি ধাপ সম্পূর্ণ করতে কত সময় লাগে তা দেখতে টাইমস্ট্যাম্প ব্যবহার করুন। টাইমস্ট্যাম্প তুলনা করলে, কোন নীতি এক্সিকিউট করতে সবচেয়ে বেশি সময় লাগছে তা আলাদা করে বোঝা যায়। এর ফলে আপনার API কল ধীর হয়ে যায়।
  • বেস পাথ: বেস পাথ যাচাই করার মাধ্যমে, আপনি নিশ্চিত করতে পারবেন যে কোনও নীতি সঠিক সার্ভারে মেসেজ রাউট করছে।
  • নীতি প্রয়োগের ফলাফল: এইসব ফলাফল থেকে আপনি বুঝতে পারবেন যে মেসেজটি আশা অনুযায়ী পরিবর্তিত হচ্ছে কিনা, যেমন মেসেজটি XML থেকে JSON-এ রূপান্তরিত হচ্ছে কিনা অথবা মেসেজটি ক্যাশে সেভ করা হচ্ছে কিনা।

নিচের ছবিতে ট্রেস ফলাফল দেখানো হয়েছে:

Edge UI-তে API প্রক্সি এডিটরে বেছে নেওয়া Trace ট্যাব দেখায়।

প্রতিটি Trace সেশনকে নিম্নলিখিত প্রধান ধাপে ভাগ করা হয়েছে:

  • ক্লায়েন্টের থেকে পাওয়া আসল অনুরোধ: ক্লায়েন্ট অ্যাপের থেকে পাওয়া অনুরোধের ভার্ব ও URI পাথ দেখায়, হেডার, বডি ডেটা ও কোয়েরি প্যারামিটার।
  • আপনার ব্যাকএন্ড পরিষেবায় পাঠানো অনুরোধ: API প্রক্সি দ্বারা ব্যাকএন্ড পরিষেবায় পাঠানো অনুরোধের মেসেজ দেখায়।
  • ব্যাকএন্ড পরিষেবার দেওয়া উত্তর: ব্যাকএন্ড পরিষেবার দেওয়া উত্তর হেডার ও পেলোড দেখায়।
  • ক্লায়েন্টকে পাঠানো চূড়ান্ত উত্তর: উত্তর দেওয়ার ফ্লো এক্সিকিউট হয়ে গেলে, অনুরোধকারী ক্লায়েন্ট অ্যাপকে উত্তর মেসেজটি ফেরত পাঠানো হয়।