UI এ নীতি সংযুক্ত করা এবং কনফিগার করা

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

একটি এপিআই প্রক্সিতে নীতি-ভিত্তিক সক্ষমতা যোগ করা একটি দুই-ধাপের প্রক্রিয়া:

  1. একটি পলিসি টাইপের দৃষ্টান্ত কনফিগার করুন।
  2. পলিসি ইনস্ট্যান্সটিকে একটি ফ্লো-এর সাথে সংযুক্ত করুন।

নিচের ডায়াগ্রামটি পলিসি এবং ফ্লো-এর মধ্যে সম্পর্ক দেখায়। যেমনটি আপনি দেখতে পাচ্ছেন, একটি পলিসি একটি ফ্লো-এর সাথে একটি প্রসেসিং 'স্টেপ' হিসেবে সংযুক্ত থাকে। আপনার এপিআই-এর জন্য কাঙ্ক্ষিত আচরণ কনফিগার করতে, আপনাকে ফ্লো সম্পর্কে কিছুটা বুঝতে হবে। (এই বিষয়টি পূর্বে 'ফ্লো কনফিগার করা ' অংশে আলোচনা করা হয়েছে।)

নীতিমালা ও প্রবাহের মধ্যে সম্পর্ক

সচরাচর ব্যবহৃত এক ধরনের পলিসি হলো স্পাইকঅ্যারেস্ট (SpikeArrest)। স্পাইকঅ্যারেস্ট মেসেজ ট্র্যাফিকের আকস্মিক বৃদ্ধি রোধ করে, যা আপনার ব্যাকএন্ড পরিষেবাগুলোকে অতিরিক্ত চাপে ফেলতে পারে।

একটি ফ্লো-এর সাথে একটি পলিসি সংযুক্ত করা

একটি ফ্লো-এর সাথে পলিসি সংযুক্ত করতে:

  1. একটি এপিআই প্রক্সি নির্বাচন করুন এবং ডেভেলপ ভিউতে যান।
  2. এপিআই প্রক্সি এডিটর-এর নেভিগেটর প্যানে সেই ফ্লোটি নির্বাচন করুন, যেটির সাথে আপনি একটি পলিসি সংযুক্ত করতে চান।
    উদাহরণস্বরূপ, নিম্নলিখিত চিত্রে ডিফল্ট API প্রক্সি এন্ডপয়েন্টের জন্য PreFlow ফ্লোটি নির্বাচন করা হয়েছে:
    যে ফ্লো-তে আপনি পলিসি সংযুক্ত করতে চান তা নির্বাচন করুন।
  3. ডিজাইন ভিউতে, একটি পলিসি সংযুক্ত করতে অনুরোধ বা প্রতিক্রিয়া প্রবাহের সাথে যুক্ত +ধাপ-এ ক্লিক করুন। উদাহরণস্বরূপ:
    ক্লিক করুন +ধাপ
    'অ্যাড স্টেপ' ডায়ালগ বক্সটি খোলে, যেখানে পলিসিগুলোর একটি শ্রেণীবদ্ধ তালিকা প্রদর্শিত হয়।
    বিভাগ অনুযায়ী নীতিমালার তালিকা
  4. স্ক্রল করে সেই পলিসি টাইপটি নির্বাচন করুন যা আপনি নির্বাচিত ফ্লো-এর সাথে সংযুক্ত করতে চান।
  5. নিম্নলিখিত ক্ষেত্রগুলি পরিবর্তন করুন।
    • প্রদর্শনের নাম: পলিসির জন্য একটি অনন্য প্রদর্শনের নাম। ইউজার ইন্টারফেস (UI) একটি ডিফল্ট নাম তৈরি করবে, কিন্তু পলিসিটির জন্য একটি বর্ণনামূলক নাম তৈরি করার পরামর্শ দেওয়া হয়। এটি নিশ্চিত করবে যে আপনার প্রতিষ্ঠানের অন্যান্য ডেভেলপাররা পলিসিটির উদ্দেশ্য কী তা সহজেই বুঝতে পারবে।

    • নাম : পলিসির জন্য একটি অনন্য নাম। পলিসির নামটি প্রদর্শিত নামের সাথে মিলে যায়, তবে নিম্নলিখিত ব্যতিক্রমগুলো রয়েছে:

      • স্পেসগুলোকে ড্যাশ দ্বারা প্রতিস্থাপন করা হয়।

      • পরপর দুটি ড্যাশের পরিবর্তে একটি ড্যাশ ব্যবহৃত হয়।

      • ড্যাশ, আন্ডারস্কোর এবং স্পেস (যা উপরে উল্লিখিত হিসাবে প্রতিস্থাপিত হয়) ব্যতীত, যেসব অক্ষর অ্যালফানিউমেরিক নয়, যেমন পাউন্ড চিহ্ন, শতাংশ চিহ্ন, অ্যামপারস্যান্ড ইত্যাদি, সেগুলো সরিয়ে ফেলা হয়।

  6. যোগ করুন-এ ক্লিক করুন।

    নীতিমালাটি নির্বাচিত ফ্লো-এর সাথে সংযুক্ত।

পলিসিটি সংযুক্ত করার পরে, আপনি ফ্লো-এর জন্য ডিজাইনার ভিউতে (এই উদাহরণে ডিফল্ট প্রক্সি এন্ডপয়েন্টের প্রিফ্লো-তে) এবং নেভিগেশন প্যানেলের পলিসি তালিকায় পলিসিটি প্রদর্শিত হতে দেখবেন। কোড ভিউ, যা নতুন সংযুক্ত পলিসির জন্য XML প্রদর্শন করে, তা ডিজাইনার ভিউ-এর নিচে প্রদর্শিত হয়। Edge পলিসিটির একটি ইনস্ট্যান্স তৈরি করে, যাতে কিছু যুক্তিসঙ্গত ডিফল্ট মান থাকে।

ডিজাইনার এবং কোড ভিউতে প্রিফ্লো-এর নীতিমালা

ফ্লো-এর সাথে সংযুক্ত না করে পলিসি যোগ করা

কোনো ফ্লো-এর সাথে সংযুক্ত না করে পলিসি যোগ করতে, যা ফল্ট হ্যান্ডলিং-এর জন্য উপযোগী, নেভিগেটর ভিউ-এর পলিসি বারে থাকা + চিহ্নে ক্লিক করে অ্যাড পলিসি ডায়ালগটি খুলুন এবং পলিসিটি যোগ করুন (যেমনটি পূর্ববর্তী বিভাগের ৪ থেকে ৬ নম্বর ধাপে বর্ণনা করা হয়েছে)।

পলিসি যোগ করতে + এ ক্লিক করুন

যে পলিসি কোনো ফ্লো-এর সাথে সংযুক্ত নয়, সেটিকে পলিসি তালিকায় "ডিটাচড" আইকন দিয়ে চিহ্নিত করা হয়, যেমনটি পূর্ববর্তী চিত্রে দেখানো API কী মেসেজ পলিসির পাশে দেখানো হয়েছে।

পলিসি তৈরি করার পরে, আপনি ডিজাইনার ভিউতে পলিসি তালিকা থেকে এটিকে টেনে এনে কাঙ্ক্ষিত ফ্লো-তে সংযুক্ত করতে পারেন।

একটি প্রবাহ থেকে নীতিমালা বিচ্ছিন্ন করা

একটি ফ্লো থেকে কোনো পলিসি বিচ্ছিন্ন করতে, ফ্লো-টি নির্বাচন করুন। ফ্লো-এর ডিজাইনার ভিউতে পলিসিটির আইকনের উপর মাউস নিয়ে যান। আইকনটিতে প্রদর্শিত বৃত্তের ভেতরের X- এ ক্লিক করুন।

একটি পলিসি ইনস্ট্যান্স মুছে ফেলা

একটি পলিসি ইনস্ট্যান্স ডিলিট করতে, নেভিগেটর ভিউতে পলিসিটির এন্ট্রির উপর মাউস রাখুন। এন্ট্রিটির ডানদিকে প্রদর্শিত বৃত্তের ভেতরের X- এ ক্লিক করুন।

UI-তে নীতিমালা কনফিগার করা

যখন UI একটি পলিসি ইনস্ট্যান্স তৈরি করে, তখন এটি সাধারণ সেটিংসের জন্য যুক্তিসঙ্গত ডিফল্ট মান প্রয়োগ করে। আপনার প্রয়োজন মেটাতে এই সেটিংসগুলো পরিবর্তন করার দরকার হতে পারে।

উদাহরণস্বরূপ:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SpikeArrest async="false" continueOnError="false" enabled="true" name="spikearrest-1">
  <DisplayName>SpikeArrest-1</DisplayName>
  <FaultRules/>
  <Properties/>
  <Identifier ref="request.header.some-header-name"/>
  <MessageWeight ref="request.header.weight"/>
  <Rate>30ps</Rate>
</SpikeArrest>

আপনি কোড ভিউতে সরাসরি কোনো পলিসির XML কনফিগারেশন সম্পাদনা করে তা কনফিগার করতে পারেন। উদাহরণস্বরূপ, স্পাইক অ্যারেস্ট পলিসির জন্য সর্বোচ্চ মেসেজ রেট প্রাথমিকভাবে প্রতি সেকেন্ডে ৩০টি মেসেজে সেট করা থাকে। আপনি পলিসিটির XML-এ থাকা Rate এলিমেন্টের মান পরিবর্তন করে এই সর্বোচ্চ রেট পরিবর্তন করতে পারেন। পলিসি কনফিগারেশন সম্পর্কে আরও বিস্তারিত জানতে, পলিসি রেফারেন্স দেখুন।

আপনি পলিসিগুলো কাট-পেস্ট করে কোড ভিউতেও আনতে পারেন। গিটহাবে উপলব্ধ স্যাম্পলগুলো থেকে পলিসি পুনরায় ব্যবহার করার এটি একটি চমৎকার উপায়।

আপনি যখন কোড ভিউতে কোনো পলিসি ডেফিনিশনে পরিবর্তন করেন, তখন সেই পরিবর্তনগুলো প্রপার্টি ইন্সপেক্টরে প্রতিফলিত হয়। এর বিপরীতটিও সত্য — প্রপার্টি ইন্সপেক্টরে পরিবর্তন করলে তা কোড ভিউয়ের XML-এ দেখা যায়।

এই বিষয়ে ব্যবহৃত কোটা নীতি সম্পর্কিত নির্দিষ্ট তথ্যের জন্য, কোটা নীতি দেখুন।