ধাপ ৪: নীতি যোগ করুন

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

আপনি টার্গেট এন্ডপয়েন্ট পরিবর্তন করেছেন, এখন আপনার প্রক্সিতে নীতি যোগ করার জন্য প্রস্তুত।

নীতি হল Edge কম্পোনেন্ট যা আপনার API প্রক্সি ব্যবহার করে মেসেজ ফ্লোয়ের বিভিন্ন পয়েন্টে অ্যাটাচ করতে পারবেন। নীতি মেসেজ ফর্ম্যাট পরিবর্তন করতে, অ্যাক্সেস কন্ট্রোল প্রয়োগ করতে, রিমোট পরিষেবা কল করতে, ব্যবহারকারীকে অনুমোদন করতে, সম্ভাব্য হুমকির জন্য মেসেজ কন্টেন্ট পরীক্ষা করতে এবং আরও অনেক কিছু করতে পারে।

এই টিউটোরিয়ালে, আপনি নিজের প্রক্সিতে XMLtoJSON নীতি যোগ করতে চলেছেন। এই নীতি XML মেসেজের পেলোডকে JSON-এ কনভার্ট করে। এছাড়াও, এটি উত্তরের Content-Type হেডার পরিবর্তন করে।

আপনার প্রক্সিতে XML থেকে JSON নীতি যোগ করতে:

  1. ব্রাউজারে Edge UI খুলে লগ-ইন করুন।
  2. মূল উইন্ডোতে API প্রক্সি বিকল্পে ক্লিক করুন এবং একটি প্রক্সি বেছে নিন। এই উদাহরণের জন্য, ধাপ ১: API প্রক্সি তৈরি করুন-এ আপনার তৈরি করা প্রক্সি বেছে নিন।
  3. ডেভেলপ করুন ট্যাবে ক্লিক করুন:

    Edge, API প্রক্সি এডিটর দেখায়।

  4. Navigator প্যানেলে, প্রক্সি এন্ডপয়েন্ট > ডিফল্ট > PreFlow বিকল্পে ক্লিক করুন:

    Edge-এ ফ্লো এডিটর দেখা যায়:

    এছাড়াও, Edge কোড প্যানেলে ডিফল্ট প্রক্সি এন্ডপয়েন্ট কনফিগারেশন দেখায়:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. আপনার প্রক্সিতে কোনও নীতি যোগ করতে, উত্তরে প্রিফ্লো (ফ্লো এডিটরের নিচের অর্ধেক) বিভাগে + ধাপ বোতামে ক্লিক করুন:

    Edge-এ যোগ করুন ডায়ালগ বক্সে নীতির একটি শ্রেণীবদ্ধ তালিকা দেখানো হয় যা আপনি নিজের ফ্লোতে যোগ করতে পারেন:

  6. নিচের দিকে স্ক্রল করে মধ্যস্থতা বিভাগে XML থেকে JSON নীতি বেছে নিন।
  7. ডিফল্ট নাম রেখে দিন এবং যোগ করুন বিকল্পে ক্লিক করুন।

    Edge উত্তরের PreFlow-তে নতুন নীতি অ্যাটাচ করে:

    মনে রাখবেন, আপনি যোগ করুন বিকল্পে ক্লিক করলে, Edge নিম্নলিখিত কাজগুলি করে:

    • নেভিগেটর প্যানেলে নীতির অধীনে নতুন নীতি যোগ করে।
    • ফ্লো প্যানেলে XML থেকে JSON নীতি যোগ করে।
    • কোড প্যানেলে নীতির কনফিগারেশন XML দেখায়।
  8. আপনার করা পরিবর্তন সহ বর্তমান রিভিশন সেভ করতে, সেভ করুন বিকল্পে ক্লিক করুন।

এখন এটি ব্যবহার করে দেখুন! টার্মিনাল উইন্ডোতে, নিম্নলিখিত curl কমান্ডটি এক্সিকিউট করুন:

curl https://org_name-test.apigee.net/getstarted

যেখানে:

অথবা, আপনি কোনও ব্রাউজারে একই URL খুলতে পারেন।

আপনি নিম্নলিখিত উত্তর পাবেন:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

উত্তরের বডিটি যদি এমন না হয়, তাহলে এগুলি চেক করুন:

  1. আপনার টার্গেট এন্ডপয়েন্ট হল "https://mocktarget.apigee.net/xml", যা ধাপ ৩: আপনার টার্গেট এন্ডপয়েন্ট পরিবর্তন করুন-এ বর্ণনা করা হয়েছে:
    • আপনি উত্তর হিসেবে "হ্যালো, অতিথি!" পেলে, আপনাকে টার্গেট এন্ডপয়েন্টের শেষে "/xml" যোগ করতে হবে।
    • আপনি 404 কোড পেলে, চেক করে দেখুন যে আপনি "apigee.net" অ্যাক্সেস করছেন, "apigee.com" নয়।
  2. আপনার প্রক্সির লেটেস্ট রিভিশন ডেপ্লয় করা হয়েছে। API প্রক্সি ডেপ্লয় করা ও আনডেপ্লয় করা নিবন্ধে বর্ণিত পদ্ধতি অনুযায়ী আপনার API প্রক্সি আবার ডেপ্লয় করার চেষ্টা করুন।

HTTP অনুরোধ ও উত্তরের হেডার দেখতে, curl-এ ভারবোসিটি চালু করুন -vs বিকল্পের মাধ্যমে (v উত্তরকে ভারবোস করে তোলে, কিন্তু s কিছু কম আকর্ষণীয় বিবরণ লুকিয়ে দেয়)। যেমন:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

আপনি এই ধরনের উত্তর পাবেন। মনে রাখবেন যে, উত্তরে Content-Type হেডার হল "application/json"। XML থেকে JSON নীতি উত্তর পাঠানোর আগে হেডার পরিবর্তন করে।

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

পরের ধাপ

আরও গভীরে যান