OpenAPI স্পেসিফিকেশন থেকে API প্রক্সি তৈরি করা

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

আপনি কী শিখবেন

এই টিউটোরিয়ালে, আপনি এগুলি করতে শিখবেন:

  • OpenAPI স্পেসিফিকেশন থেকে Edge API প্রক্সি তৈরি করুন।
  • cURL ব্যবহার করে API প্রক্সি কল করুন।
  • কন্ডিশনাল ফ্লোতে নীতি যোগ করুন।
  • cURL ব্যবহার করে নীতি প্রয়োগ করা পরীক্ষা করুন।

এই টিউটোরিয়ালে, আপনি Apigee Edge ম্যানেজমেন্ট UI ব্যবহার করে কীভাবে OpenAPI স্পেসিফিকেশন থেকে Edge API প্রক্সি তৈরি করবেন তা জানবেন। আপনি যখন কোনও HTTP ক্লায়েন্ট, যেমন cURL-এর মাধ্যমে API প্রক্সি কল করেন, তখন API প্রক্সি Apigee মক টার্গেট পরিষেবায় অনুরোধ পাঠায়।

Open API Initiative সম্পর্কে

Open API Initiative
"The Open API Initiative (OAI) is focused on creating, evolving and promoting a vendor neutral API Description Format based on the Swagger Specification." Open API Initiative সম্পর্কে আরও তথ্য পেতে, https://openapis.org দেখুন।

OpenAPI স্পেসিফিকেশন একটি RESTful API-এর বর্ণনা দেওয়ার জন্য স্ট্যান্ডার্ড ফর্ম্যাট ব্যবহার করে। JSON বা YAML ফর্ম্যাটে লেখা, OpenAPI স্পেসিফিকেশন হল মেশিনের মাধ্যমে পড়ার মতো, কিন্তু এটি মানুষের পক্ষেও সহজে পড়া ও বোঝা যায়। স্পেসিফিকেশন কোনও API-এর বেস পাথ, পাথ ও ভার্ব, হেডার, কোয়েরি প্যারামিটার, অপারেশন, কন্টেন্টের ধরন, উত্তরের বিবরণ এবং আরও অনেক কিছুর মতো এলিমেন্ট বর্ণনা করে। এছাড়াও, OpenAPI স্পেসিফিকেশন সাধারণত API ডকুমেন্টেশন তৈরি করতে ব্যবহার করা হয়।

Apigee মক টার্গেট পরিষেবা সম্পর্কে

এই টিউটোরিয়ালে ব্যবহৃত Apigee মক টার্গেট পরিষেবা Apigee-তে হোস্ট করা হয় এবং সাধারণ ডেটা রিটার্ন করে। এর জন্য কোনও API key বা অ্যাক্সেস টোকেন প্রয়োজন হয় না। আসলে, আপনি এটি ওয়েব ব্রাউজারে অ্যাক্সেস করতে পারবেন। নিচে দেওয়া বিকল্পে ক্লিক করে দেখুন:

http://mocktarget.apigee.net

টার্গেট পরিষেবা Hello, guest! গ্রিটিং রিটার্ন করে

মক টার্গেট পরিষেবা যেসব API-এর সম্পূর্ণ সেট কাজ করে, সেই সম্পর্কে তথ্য পেতে, নিম্নলিখিত লিঙ্কে ক্লিক করুন:

http://mocktarget.apigee.net/help

আপনার কী প্রয়োজন হবে

  • Apigee Edge অ্যাকাউন্ট। আপনার কোনও অ্যাকাউন্ট না থাকলে, Apigee Edge অ্যাকাউন্ট তৈরি করা লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে সাইন-আপ করতে পারবেন।
  • OpenAPI স্পেসিফিকেশন। এই টিউটোরিয়ালে, আপনি mocktarget.yaml OpenAPI স্পেসিফিকেশন ব্যবহার করবেন যা Apigee-এর মক টার্গেট পরিষেবা, http://mocktarget.apigee.net বর্ণনা করে। আরও তথ্যের জন্য, এখানে দেখুন https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi.
  • কমান্ড লাইন থেকে API কল করার জন্য আপনার মেশিনে ইনস্টল করা cURL অথবা একটি ওয়েব ব্রাউজার।

API প্রক্সি তৈরি করা

Edge

Edge UI ব্যবহার করে OpenAPI স্পেসিফিকেশন থেকে API প্রক্সি তৈরি করতে:

  1. https://apigee.com/edge লিঙ্কে সাইন-ইন করুন।
  2. মূল উইন্ডোতে API প্রক্সি বিকল্পে ক্লিক করুন।

    অথবা, বাঁদিকের নেভিগেশন বার থেকে ডেভেলপ করুন > API প্রক্সি বিকল্প বেছে নিতে পারেন।

    ল্যান্ডিং পৃষ্ঠায় API প্রক্সি বিকল্পে ক্লিক করুন

  3. + প্রক্সি বিকল্পে ক্লিক করুন।
    API প্রক্সি যোগ করা
  4. 'প্রক্সি তৈরি করুন' উইজার্ডে, রিভার্স প্রক্সি (সবচেয়ে সাধারণ) টেমপ্লেটের জন্য OpenAPI স্পেসিফিকেশন ব্যবহার করুন বিকল্পে ক্লিক করুন।
    প্রক্সি ধরন তৈরি করা
  5. URL থেকে ইমপোর্ট করুন বিকল্পে ক্লিক করে নিম্নলিখিত তথ্য লিখুন:
    • OpenAPI স্পেক URL: URL ফিল্ডে OpenAPI স্পেসিফিকেশনের জন্য GitHub-এ থাকা র কন্টেন্টের পাথ:
      https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
    • স্পেকের নাম: OpenAPI স্পেসিফিকেশনের নাম, যেমন মক টার্গেট।

      এই নামটি স্পেক স্টোরে OpenAPI স্পেসিফিকেশন সেভ করার জন্য ব্যবহার করা হয়। আপনার স্পেসিফিকেশন ম্যানেজ করুন দেখুন।

  6. ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

    'প্রক্সি তৈরি করুন' উইজার্ডের 'বিবরণ' পৃষ্ঠাটি দেখানো হয়। OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত মান ব্যবহার করে ফিল্ডগুলি আগে থেকেই পূরণ করা হয় যা নিম্নলিখিত

    OpenAPI স্পেসিফিকেশনে প্রপার্টি ব্যবহার করে আগে থেকেই পূরণ করা ডিফল্ট ভ্যালুগুলি নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে। টেবিলের পরে, ব্যবহৃত প্রপার্টিগুলি ব্যাখ্যা করে OpenAPI স্পেসিফিকেশনের একটি অংশ দেখানো হয়েছে।

    ফিল্ড বিবরণ ডিফল্ট
    নাম API প্রক্সির নাম। যেমন: Mock-Target-API. ড্যাশ দিয়ে স্পেস পাল্টে OpenAPI স্পেসিফিকেশন থেকে title প্রপার্টি
    বেস পাথ পাথ কম্পোনেন্ট যা সংস্থার মধ্যে এই API প্রক্সিটিকে অনন্যভাবে শনাক্ত করে। এই API প্রক্সির সর্বজনীন URL-এ আপনার সংস্থার নাম, একটি পরিবেশ যেখানে এই API প্রক্সি ডেপ্লয় করা হয়েছে এবং এই বেস পাথ থাকে। যেমন: http://myorg-test.apigee.net/mock-target-api নাম ফিল্ডের কন্টেন্ট সব ছোট হাতের অক্ষরে কনভার্ট করা হয়েছে
    বিবরণ API প্রক্সির বিবরণ। OpenAPI স্পেসিফিকেশন থেকে description প্রপার্টি
    টার্গেট (বর্তমান API) এই API প্রক্সির হয়ে টার্গেট URL আহ্বান করা হয়েছে। ওপেন ইন্টারনেটে অ্যাক্সেস করা যায় এমন যেকোনও URL ব্যবহার করা যেতে পারে। যেমন: http://mocktarget.apigee.net OpenAPI স্পেসিফিকেশন থেকে servers প্রপার্টি

    নিচে OpenAPI স্পেসিফিকেশন থেকে একটি অংশ দেওয়া হল, যেখানে ফিল্ড আগে থেকেই পূরণ করার জন্য ব্যবহৃত প্রপার্টি দেখানো হয়েছে।

    openapi: 3.0.0
    info:
      description: OpenAPI Specification for the Apigee mock target service endpoint.
      version: 1.0.0
      title: Mock Target API
    paths:
      /:
        get:
          summary: View personalized greeting
          operationId: View a personalized greeting
          description: View a personalized greeting for the specified or guest user.
          parameters:
            - name: user
              in: query
              description: Your user name.
              required: false
              schema:
                type: string
          responses:
            "200":
              description: Success
    ...
    servers:
      - url: http://mocktarget.apigee.net
      - url: https://mocktarget.apigee.net
    ...
    
  7. নিম্নলিখিত উপায়ে বিবরণ ফিল্ড এডিট করুন: API proxy for the Apigee mock target service endpoint.
  8. পরবর্তী বিকল্পে ক্লিক করুন।
  9. সাধারণ নীতি পৃষ্ঠায়, 'নিরাপত্তা: অনুমোদন' বিকল্পের মধ্যে পাস থ্রু (কোনও অনুমোদন নেই) বিকল্প বেছে নেওয়া হয়েছে কিনা দেখুন এবং পরবর্তী বিকল্পে ক্লিক করুন:

    সাধারণ নীতি পৃষ্ঠায় 'পাস থ্রু' (কোনও অনুমোদন নেই) বিকল্প বেছে নেওয়া হয়েছে

  10. ফ্লো পৃষ্ঠায়, সব অপারেশন বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন। প্রক্সি ফ্লো তৈরি করা
  11. পরবর্তী বিকল্পে ক্লিক করুন।
  12. ভার্চুয়াল হোস্ট পৃষ্ঠায়, ডিফল্ট ও সুরক্ষিত বিকল্প বেছে নিয়ে পরবর্তী বিকল্পে ক্লিক করুন।
    ভার্চুয়াল হোস্ট পৃষ্ঠায় ডিফল্ট ও সুরক্ষিত বিকল্প বেছে নেওয়া হয়েছে
  13. সারসংক্ষেপ পৃষ্ঠায়, ঐচ্ছিক ডেপ্লয়মেন্ট বিকল্পের অধীনে টেস্ট এনভায়রনমেন্ট বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন এবং তৈরি ও ডেপ্লয় করুন বিকল্পে ক্লিক করুন:

    Apigee আপনার নতুন API প্রক্সি তৈরি করে এবং আপনার টেস্ট এনভায়রনমেন্টে সেটি ডিপ্লয় করে:

  14. API প্রক্সির ওভারভিউ পৃষ্ঠা দেখতে প্রক্সি এডিট করুন বিকল্পে ক্লিক করুন।
    মক টার্গেট API প্রক্সি সংক্রান্ত সারসংক্ষেপ

ক্লাসিক Edge (প্রাইভেট ক্লাউড)

ক্লাসিক Edge UI ব্যবহার করে OpenAPI স্পেসিফিকেশন থেকে API প্রক্সি তৈরি করতে:

  1. https://apigee.com/edge লিঙ্কে সাইন-ইন করুন।
  2. মূল উইন্ডোতে API প্রক্সি বিকল্পে ক্লিক করুন।

    অথবা, বাঁদিকের নেভিগেশন বার থেকে ডেভেলপ করুন > API প্রক্সি বিকল্প বেছে নিতে পারেন।

  3. + প্রক্সি বিকল্পে ক্লিক করুন।
    API প্রক্সি যোগ করা
  4. 'প্রক্সি তৈরি করুন' উইজার্ডে, রিভার্স প্রক্সি (সবচেয়ে সাধারণ) বিকল্প বেছে নিন এবং OpenAPI ব্যবহার করুন বিকল্পে ক্লিক করুন।
    প্রক্সি ধরন তৈরি করা
  5. URL থেকে ইমপোর্ট করুন বিকল্পে ক্লিক করুন, OpenAPI স্পেসিফিকেশনের নাম লিখুন এবং URL ফিল্ডে OpenAPI স্পেসিফিকেশনের জন্য GitHub-এ থাকা কাঁচা কন্টেন্টের পাথ লিখুন:

    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
  6. বেছে নিন বিকল্পে ক্লিক করুন।
  7. পরবর্তী বিকল্পে ক্লিক করুন।

    'প্রক্সি তৈরি করুন' উইজার্ডের 'বিবরণ' পৃষ্ঠাটি দেখানো হয়। নিচের ছবিতে দেখানো OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত মান ব্যবহার করে ফিল্ডগুলি আগে থেকেই পূরণ করা হয়।

    প্রক্সি বিবরণ তৈরি করা

    OpenAPI স্পেসিফিকেশনে প্রপার্টি ব্যবহার করে আগে থেকেই পূরণ করা ডিফল্ট ভ্যালুগুলি নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে। টেবিলের পরে, ব্যবহৃত প্রপার্টিগুলি ব্যাখ্যা করে OpenAPI স্পেসিফিকেশনের একটি অংশ দেখানো হয়েছে।

    ফিল্ড বিবরণ ডিফল্ট
    প্রক্সির নাম API প্রক্সির নাম। যেমন: Mock-Target-API. ড্যাশ দিয়ে স্পেস পাল্টে OpenAPI স্পেসিফিকেশন থেকে title প্রপার্টি
    প্রক্সি বেস পাথ পাথ কম্পোনেন্ট যা সংস্থার মধ্যে এই API প্রক্সিটিকে অনন্যভাবে শনাক্ত করে। এই API প্রক্সির পাবলিক-ফেসিং URL-এ আপনার প্রতিষ্ঠানের নাম, একটি এনভায়রনমেন্ট যেখানে এই API প্রক্সি ডেপ্লয় করা হয়েছে এবং এই বেস পাথ থাকে। যেমন: http://myorg-test.apigee.net/mock-target-api নাম ফিল্ডের কন্টেন্ট সব ছোট হাতের অক্ষরে কনভার্ট করা হয়েছে
    আগে থেকে থাকা API এই API প্রক্সির হয়ে টার্গেট URL আহ্বান করা হয়েছে। ওপেন ইন্টারনেটে অ্যাক্সেস করা যায় এমন যেকোনও URL ব্যবহার করা যেতে পারে। যেমন: http://mocktarget.apigee.net OpenAPI স্পেসিফিকেশন থেকে servers প্রপার্টি
    বিবরণ API প্রক্সির বিবরণ। OpenAPI স্পেসিফিকেশন থেকে description প্রপার্টি

    নিচে OpenAPI স্পেসিফিকেশন থেকে একটি অংশ দেওয়া হল, যেখানে ফিল্ড আগে থেকেই পূরণ করার জন্য ব্যবহৃত প্রপার্টি দেখানো হয়েছে।

    openapi: 3.0.0
    info:
      description: OpenAPI Specification for the Apigee mock target service endpoint.
      version: 1.0.0
      title: Mock Target API
    paths:
      /:
        get:
          summary: View personalized greeting
          operationId: View a personalized greeting
          description: View a personalized greeting for the specified or guest user.
          parameters:
            - name: user
              in: query
              description: Your user name.
              required: false
              schema:
                type: string
          responses:
            "200":
              description: Success
    ...
    servers:
      - url: http://mocktarget.apigee.net
      - url: https://mocktarget.apigee.net
    ...
    
  8. নিম্নলিখিত উপায়ে বিবরণ ফিল্ড এডিট করুন: API proxy for the Apigee mock target service endpoint.
  9. পরবর্তী বিকল্পে ক্লিক করুন।
  10. ফ্লো পৃষ্ঠায়, সব অপারেশন বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন। প্রক্সি ফ্লো তৈরি করা
  11. পরবর্তী বিকল্পে ক্লিক করুন।
  12. নিরাপত্তা পৃষ্ঠায়, নিরাপত্তা বিকল্প হিসেবে পাস থ্রু (কোনওটি নয়) বেছে নিন এবং পরবর্তী বিকল্পে ক্লিক করুন।
  13. ভার্চুয়াল হোস্ট পৃষ্ঠায়, সব ভার্চুয়াল হোস্ট বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন এবং পরবর্তী বিকল্পে ক্লিক করুন।
  14. বিল্ড পৃষ্ঠায়, টেস্ট এনভায়রনমেন্ট বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন এবং বিল্ড ও ডেপ্লয় করুন বিকল্পে ক্লিক করুন।
  15. সারসংক্ষেপ পৃষ্ঠায়, আপনি একটি স্বীকৃতি দেখতে পাবেন যে আপনার নতুন API প্রক্সি সফলভাবে তৈরি করা হয়েছে এবং আপনার টেস্ট এনভায়রনমেন্টে ডিপ্লয় করা হয়েছে।
    প্রক্সি সামারি তৈরি করা
  16. API প্রক্সি সংক্রান্ত ওভারভিউ পৃষ্ঠা দেখাতে মক-টার্গেট-API-তে ক্লিক করুন।
    মক টার্গেট API প্রক্সি সংক্রান্ত সারসংক্ষেপ

অভিনন্দন! আপনি OpenAPI স্পেসিফিকেশন থেকে API প্রক্সি তৈরি করেছেন। এরপরে, এটি কীভাবে কাজ করে তা দেখতে আপনাকে পরীক্ষা করতে হবে।

API প্রক্সি টেস্ট করা

আপনি cURL বা ওয়েব ব্রাউজার ব্যবহার করে Mock-Target-API API পরীক্ষা করতে পারবেন।

টার্মিনাল উইন্ডোতে, নিম্নলিখিত cURL কমান্ড রান করুন। URL-এ আপনার সংস্থার নাম পরিবর্তন করুন।

curl http://<org_name>-test.apigee.net/mock-target-api

উত্তর

আপনি এই উত্তরটি দেখতে পাবেন:

Hello, Guest!        

আরও বাকি আছে! আপনি OpenAPI স্পেসিফিকেশন থেকে একটি সাধারণ API প্রক্সি তৈরি করেছেন এবং সেটি পরীক্ষা করেছেন।

JSON নীতিতে XML যোগ করা

এরপরে, আপনি XML রেসপন্স দেখুন কন্ডিশনাল ফ্লোতে JSON নীতিতে XML যোগ করবেন যা আপনি OpenAPI স্পেসিফিকেশন থেকে API প্রক্সি তৈরি করার সময় অটোমেটিক জেনারেট হয়েছিল। নীতিটি টার্গেটের XML উত্তরকে JSON উত্তরে কনভার্ট করবে।

প্রথমে, API কল করুন যাতে আপনি নীতি যোগ করার পরে প্রাপ্ত ফলাফলের সাথে সেগুলি তুলনা করতে পারেন। টার্মিনাল উইন্ডোতে নিম্নলিখিত cURL কমান্ডটি এক্সিকিউট করুন। আপনি টার্গেট পরিষেবার /xml রিসোর্স কল করছেন, যা নেটিভভাবে XML-এর একটি সাধারণ ব্লক রিটার্ন করে। URL-এ আপনার সংস্থার নাম লিখুন।

curl http://<org_name>-test.apigee.net/mock-target-api/xml

উত্তর

আপনি এই উত্তরটি দেখতে পাবেন:

<root> 
  <city>San Jose</city> 
  <firstName>John</firstName> 
  <lastName>Doe</lastName> 
  <state>CA</state> 
</root>

এখন, XML উত্তরকে JSON-এ কনভার্ট করার জন্য কিছু করা যাক। API প্রক্সিতে XML রেসপন্স দেখার কন্ডিশনাল ফ্লোতে XML থেকে JSON নীতি যোগ করুন।

  1. Edge UI-তে Mock-Target-API ওভারভিউ পৃষ্ঠার উপরে ডানদিকের কোণে ডেভেলপ করুন ট্যাবে ক্লিক করুন।
    'ডেভেলপার' ট্যাব
  2. বাঁদিকের নেভিগেটর প্যানেলে, 'প্রক্সি এন্ডপয়েন্ট > ডিফল্ট' বিকল্পের মধ্যে, XML উত্তর দেখুন কন্ডিশনাল ফ্লোতে ক্লিক করুন।
    XML রেসপন্স দেখুন বিকল্প বেছে নিন
  3. ফ্লোয়ের জন্য উত্তর-এর সাথে সম্পর্কিত নিচের +ধাপ বোতামে ক্লিক করুন।
    +ধাপ বেছে নিন
    'ধাপ যোগ করুন' ডায়ালগ খুলে যায় এবং আপনি যোগ করতে পারেন এমন সব নীতির শ্রেণীভিত্তিক তালিকা দেখানো হয়।
  4. স্ক্রল করে মধ্যস্থতা বিভাগে যান এবং XML থেকে JSON বিকল্প বেছে নিন।
    ধাপ যোগ করুন ডায়ালগ
  5. ডিসপ্লে নাম ও নাম-এর ডিফল্ট ভ্যালু রেখে দিন।
  6. যোগ করুন বিকল্পে ক্লিক করুন। উত্তরের উপর XML থেকে JSON নীতি প্রয়োগ করা হয়।ফ্লোতে XML থেকে JSON নীতি
  7. সেভ করুন বিকল্পে ক্লিক করুন।

আপনি যেহেতু নীতি যোগ করেছেন, তাই cURL ব্যবহার করে আবার API কল করুন। লক্ষ্য করুন যে আপনি এখনও একই /xml রিসোর্স কল করছেন। টার্গেট পরিষেবা এখনও XML-এর ব্লক রিটার্ন করে, কিন্তু এখন API প্রক্সিতে থাকা নীতি, উত্তরটিকে JSON-এ কনভার্ট করবে। এই কলটি করো:

curl http://<org_name>-test.apigee.net/mock-target-api/xml

মনে রাখবেন যে XML উত্তর JSON-এ কনভার্ট করা হয়:

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

অভিনন্দন! আপনি কন্ডিশনাল ফ্লোতে যোগ করা নীতির প্রয়োগ সফলভাবে পরীক্ষা করেছেন।