একটি OpenAPI স্পেসিফিকেশন থেকে একটি API প্রক্সি তৈরি করুন

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

আপনি যা শিখবেন

এই টিউটোরিয়ালে আপনি শিখবেন:

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

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

ওপেন এপিআই ইনিশিয়েটিভ সম্পর্কে

ওপেন এপিআই উদ্যোগ
ওপেন এপিআই ইনিশিয়েটিভ (OAI)-এর মূল লক্ষ্য হলো সোয়াগার স্পেসিফিকেশনের উপর ভিত্তি করে একটি ভেন্ডর-নিরপেক্ষ এপিআই ডেসক্রিপশন ফরম্যাট তৈরি, উন্নত এবং প্রচার করা। ওপেন এপিআই ইনিশিয়েটিভ সম্পর্কে আরও তথ্যের জন্য, https://openapis.org দেখুন।

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

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

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

http://mocktarget.apigee.net

লক্ষ্য পরিষেবাটি Hello, guest! বলে সম্ভাষণ ফেরত পাঠায়।

মক টার্গেট সার্ভিসটি যে সকল এপিআই সমর্থন করে, তার সম্পূর্ণ সেট সম্পর্কে জানতে নিম্নলিখিতটিতে ক্লিক করুন:

http://mocktarget.apigee.net/help

আপনার যা যা লাগবে

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

এপিআই প্রক্সি তৈরি করুন

প্রান্ত

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

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

    বিকল্পভাবে, আপনি বাম দিকের নেভিগেশন বার থেকে Develop > API Proxys নির্বাচন করতে পারেন।

    ল্যান্ডিং পেজে এপিআই প্রক্সিগুলিতে ক্লিক করুন

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

      এই নামটি স্পেক স্টোরে ওপেনএপিআই স্পেসিফিকেশন সংরক্ষণ করতে ব্যবহৃত হয়। আপনার স্পেসিফিকেশন পরিচালনা দেখুন।

  6. ইম্পোর্ট-এ ক্লিক করুন।

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

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

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

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

    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. Description ফিল্ডটি নিম্নরূপভাবে সম্পাদনা করুন: API proxy for the Apigee mock target service endpoint.
  8. পরবর্তী ধাপে যান।
  9. কমন পলিসি পেজে, সিকিউরিটি: অথরাইজেশন-এর অধীনে নিশ্চিত করুন যে পাস থ্রু (নো অথরাইজেশন) সিলেক্ট করা আছে, এবং নেক্সট-এ ক্লিক করুন।

    কমন পলিসি পেজে পাস থ্রু (কোনো অনুমোদন ছাড়া) নির্বাচন করা হয়েছে।

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

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

  14. এপিআই প্রক্সির ওভারভিউ পৃষ্ঠাটি প্রদর্শন করতে 'এডিট প্রক্সি'-তে ক্লিক করুন।
    মক টার্গেট এপিআই প্রক্সির সারাংশ

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

ক্লাসিক এজ UI ব্যবহার করে একটি ওপেনএপিআই স্পেসিফিকেশন থেকে এপিআই প্রক্সি তৈরি করতে:

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

    বিকল্পভাবে, আপনি বাম দিকের নেভিগেশন বার থেকে Develop > API Proxys নির্বাচন করতে পারেন।

  3. ক্লিক + প্রক্সি
    এপিআই প্রক্সি যোগ করুন
  4. ক্রিয়েট প্রক্সি উইজার্ডে, রিভার্স প্রক্সি (সবচেয়ে প্রচলিত) নির্বাচন করুন এবং ইউজ ওপেনএপিআই-তে ক্লিক করুন।
    একটি প্রক্সি টাইপ তৈরি করুন
  5. ‘Import from a URL’-এ ক্লিক করুন, OpenAPI Specification-এর জন্য একটি নাম লিখুন, এবং URL ফিল্ডে GitHub-এ থাকা OpenAPI Specification-এর মূল কন্টেন্টের পাথটি লিখুন:

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

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

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

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

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

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

    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. Description ফিল্ডটি নিম্নরূপভাবে সম্পাদনা করুন: API proxy for the Apigee mock target service endpoint.
  9. পরবর্তী ধাপে যান।
  10. ফ্লো পেজে, সমস্ত অপারেশন নির্বাচিত আছে কিনা তা নিশ্চিত করুন।একটি প্রক্সি প্রবাহ তৈরি করুন
  11. পরবর্তী ধাপে যান।
  12. সিকিউরিটি পেজে, সিকিউরিটি অপশন হিসেবে পাস থ্রু (নন) সিলেক্ট করুন এবং নেক্সট-এ ক্লিক করুন।
  13. ভার্চুয়াল হোস্ট পেজে, সব ভার্চুয়াল হোস্ট নির্বাচিত আছে কিনা তা নিশ্চিত করুন এবং নেক্সট-এ ক্লিক করুন।
  14. বিল্ড পেজে, টেস্ট এনভায়রনমেন্টটি সিলেক্ট করা আছে কিনা তা নিশ্চিত করুন এবং বিল্ড অ্যান্ড ডিপ্লয়-এ ক্লিক করুন।
  15. সারাংশ পৃষ্ঠায় আপনি একটি স্বীকৃতি দেখতে পাবেন যে আপনার নতুন এপিআই প্রক্সিটি সফলভাবে তৈরি করা হয়েছে এবং আপনার পরীক্ষা পরিবেশে স্থাপন করা হয়েছে।
    একটি প্রক্সি সারাংশ তৈরি করুন
  16. এপিআই প্রক্সির ওভারভিউ পৃষ্ঠাটি প্রদর্শন করতে মক-টার্গেট-এপিআই (Mock-Target-API)- তে ক্লিক করুন।
    মক টার্গেট এপিআই প্রক্সির সারাংশ

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

এপিআই প্রক্সি পরীক্ষা করুন

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

টার্মিনাল উইন্ডোতে নিম্নলিখিত cURL কমান্ডটি চালান। URL-টিতে আপনার প্রতিষ্ঠানের নাম বসান।

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

প্রতিক্রিয়া

আপনি নিম্নলিখিত প্রতিক্রিয়াটি দেখতে পাবেন:

Hello, Guest!        

সাবাশ! আপনি ওপেনএপিআই স্পেসিফিকেশন থেকে একটি সহজ এপিআই প্রক্সি তৈরি করেছেন এবং এটি পরীক্ষাও করেছেন।

XML থেকে JSON পলিসিতে যোগ করুন

এরপরে, আপনি OpenAPI স্পেসিফিকেশন থেকে এপিআই প্রক্সি তৈরি করার সময় স্বয়ংক্রিয়ভাবে তৈরি হওয়া 'View XML Response' কন্ডিশনাল ফ্লো-তে XML to JSON পলিসিটি যোগ করবেন। এই পলিসিটি টার্গেটের 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 প্রক্সির 'View XML Response' কন্ডিশনাল ফ্লো-তে XML to JSON পলিসিটি যোগ করুন।

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

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