নীতি কী?

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

Apigee Edge আপনাকে কোনও কোড না লিখে, 'নীতি' ব্যবহার করে API আচরণ 'প্রোগ্রাম' করতে দেয়। নীতি হল একটি মডিউলের মতো যা নির্দিষ্ট, সীমিত ম্যানেজমেন্ট ফাংশন প্রয়োগ করে। নীতি এমনভাবে ডিজাইন করা হয়েছে যাতে আপনি কোনও API-তে সহজে ও নির্ভরযোগ্যভাবে সাধারণ ধরনের ম্যানেজমেন্ট ক্ষমতা যোগ করতে পারেন। নীতিতে নিরাপত্তা, রেট-লিমিটিং, ট্রান্সফর্মেশন ও মিডিয়াশনের মতো ফিচার থাকে। এর ফলে আপনাকে নিজে থেকে এই ফাংশনালিটি কোড ও ম্যানেজ করতে হয় না।

আপনি Apigee Edge-এর দেওয়া নীতির ধরনের সেটের মধ্যে সীমাবদ্ধ নন। এছাড়াও, আপনি কাস্টম স্ক্রিপ্ট ও কোড (যেমন, JavaScript ও Node.js অ্যাপ্লিকেশন) লিখতে পারেন, যা API প্রক্সি ফাংশনালিটি বাড়ায় এবং আপনাকে Apigee নীতির মাধ্যমে প্রদান করা মৌলিক ম্যানেজমেন্ট ক্ষমতার উপরে নতুন কিছু তৈরি করতে দেয়।

নীতি অ্যাটাচমেন্ট ও এনফোর্সমেন্ট সম্পর্কে জানতে এই ভিডিওটি দেখুন।

নীতির ধরন

টেকনিক্যালি, নীতি হল XML-ফর্ম্যাট করা কনফিগারেশন ফাইল। প্রতিটি নীতির ধরনের গঠন (যেমন, প্রয়োজনীয় ও ঐচ্ছিক কনফিগারেশন এলিমেন্ট) একটি XML স্কিমা দ্বারা নির্ধারিত হয়। আপনি XML টুল ব্যবহারে পারদর্শী হলে, Github-এ API প্ল্যাটফর্ম স্যাম্পেল-এ নীতি স্কিমা সম্পর্কে জেনে নেওয়া ভাল।

এজ নীতির ধরনগুলিকে নিম্নলিখিত কার্যকরী বিভাগে গ্রুপ করা হয়েছে:

ট্রাফিক ম্যানেজমেন্ট

ট্রাফিক ম্যানেজমেন্ট বিভাগে থাকা নীতি আপনাকে API প্রক্সির মাধ্যমে অনুরোধ ও উত্তর মেসেজের ফ্লো কন্ট্রোল করতে দেয়। এইসব নীতি অপারেশনাল ও ব্যবসা-লেভেল কন্ট্রোল, দু'টিই সমর্থন করে। এগুলি আপনাকে কাঁচা থ্রুপুট কন্ট্রোল করার সুবিধা দেয় এবং প্রতিটি অ্যাপের ভিত্তিতে ট্রাফিকও কন্ট্রোল করতে পারে। ট্রাফিক ম্যানেজমেন্ট নীতির ধরন আপনাকে কোটা প্রয়োগ করতে দেয় এবং এটি পরিষেবা বন্ধ করে দেওয়ার মতো অ্যাটাক কমাতেও সাহায্য করে।

নিরাপত্তা

নিরাপত্তা বিভাগের নীতি যাচাইকরণ, অনুমোদন এবং কন্টেন্ট-ভিত্তিক নিরাপত্তাকে সমর্থন করে।

মধ্যস্থতা

API প্রক্সির মাধ্যমে মেসেজ ফ্লো করার সময় মধ্যস্থতা বিভাগের নীতি আপনাকে মেসেজ সক্রিয়ভাবে ম্যানিপুলেট করতে দেয়। এগুলি আপনাকে XML থেকে JSON (এবং এর বিপরীত) বা একটি XML ফর্ম্যাট থেকে অন্য XML ফর্ম্যাটে মেসেজ ফর্ম্যাট পরিবর্তন করতে দেয়। এছাড়াও, এগুলি আপনাকে মেসেজ পার্স করতে, নতুন মেসেজ তৈরি করতে এবং আউটবাউন্ড মেসেজে ভ্যালু পরিবর্তন করতে সাহায্য করে। এছাড়াও, API পরিষেবার মাধ্যমে প্রকাশ করা মৌলিক পরিষেবার সাথে মধ্যস্থতা সংক্রান্ত নীতি ইন্টার‍্যাক্ট করে, এর ফলে আপনি রানটাইমে অ্যাপ, ডেভেলপার, নিরাপত্তা টোকেন ও API প্রোডাক্ট সম্পর্কিত ডেটা রিট্রিভ করতে পারেন।

এক্সটেনশন

এক্সটেনশন বিভাগে থাকা নীতি আপনাকে API পরিষেবার এক্সটেনসিবিলিটি ব্যবহার করে নিজের পছন্দমতো প্রোগ্রামিং ভাষায় কাস্টম আচরণ প্রয়োগ করতে দেয়।

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

নীতিতে করা পরিবর্তন প্রয়োগ করা

নীতিতে করা পরিবর্তন কার্যকর করতে, আপনাকে অবশ্যই কোনও এনভায়রনমেন্টে API প্রক্সি রিভিশন ডেপ্লয় করতে হবে। আপনি কোনও নীতি অ্যাটাচ করার পরে বা আগে থেকে থাকা কোনও নীতিতে পরিবর্তন করার পরে, পরিবর্তনগুলি প্রয়োগ করতে ম্যানেজমেন্ট UI বা ম্যানেজমেন্ট API ব্যবহার করুন।

নীতি এনফোর্সমেন্ট যাচাই করা

কোনও নীতি সঠিকভাবে প্রয়োগ করা হয়েছে কিনা তা যাচাই করতে, API-কে অবশ্যই কোনও HTTP ক্লায়েন্ট দ্বারা আহ্বান করতে হবে। এই কোটা কনফিগারেশন যাচাই করতে, API-তে একাধিক অনুরোধ জমা দিন, কোটা নীতিতে আপনার সেট করা কোটার সীমা যেন অতিক্রম করে যায়। (নিচে দেওয়া অনুরোধে ProxyEndpoint-এ বেস পাথ সেটিং হিসেবে কনফিগার করা URI পাথ হল /weather)।

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

এক মিনিটের মধ্যে ১টির বেশি অনুরোধ জমা দিলে, আপনাকে নিম্নলিখিত সমস্যার মেসেজ দেখানো হবে:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

এর থেকে বোঝা যায় যে API পরিষেবা কোটা নীতি প্রয়োগ করছে।

নীতি-ভিত্তিক সমস্যার সমাধান

উপরে দেখানো সমস্যার মেসেজের ফর্ম্যাটটি লক্ষ্য করুন। এতে একটি faultstring প্রপার্টি ও একটি errorcode প্রপার্টি আছে। অনেক ক্ষেত্রে, এইসব সমস্যা সমাধান করার জন্য আপনাকে কিছু আচরণ প্রয়োগ করতে হবে। যেমন, আপনি এমন কোনও ডেভেলপারের জন্য কাস্টমাইজ করা মেসেজ ইস্যু করতে পারেন যার অ্যাপ কোটা অতিক্রম করেছে।

সমস্যা সমাধান সম্পর্কে আরও জানতে, সমস্যার সমাধান করা দেখুন।

পেশাদার পদ্ধতি: সাধারণ নীতি সেট

ম্যানেজমেন্ট সংক্রান্ত প্রাথমিক প্রয়োজনীয়তা পূরণ করতে, API প্রক্সি সাধারণত নিম্নলিখিত নীতি প্রয়োগ করে:

প্রাথমিক API key যাচাইকরণ

ProxyEndpoint অনুরোধ ফ্লো:
  1. SpikeArrest
  2. XMLThreatProtection বা JSONThreatProtection
  3. API key যাচাইকরণ
  4. কোটা
  5. ResponseCache
ProxyEndpoint Response Flow:
  1. ResponseCache

প্রাথমিক ট্রান্সফর্মেশন: JSON থেকে XML

অনুরোধের ফ্লো:
  1. SpikeArrest
  2. JSONThreatProtection
  3. API key যাচাইকরণ
  4. কোটা
  5. JSONToXML
উত্তর দেওয়ার ফ্লো:
  1. XMLToJSON
  2. ResponseCache