Apigee এজ সহ দূতের জন্য Apigee অ্যাডাপ্টার ব্যবহার করা

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

এই উদাহরণটি দেখায় কিভাবে Apigee এজ এর সাথে দূতের জন্য Apigee অ্যাডাপ্টার ব্যবহার করতে হয়।

পূর্বশর্ত

আপনি শুরু করার আগে:

ওভারভিউ

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

বিধান Apigee প্রান্ত

এই ধাপে, আপনি Apigee Edge-এ দূত সম্পদের জন্য Apigee অ্যাডাপ্টারের ব্যবস্থা করতে রিমোট সার্ভিস CLI ব্যবহার করবেন। প্রভিশনিং কমান্ড Apigee Edge-এ একটি API প্রক্সি স্থাপন করে এবং Apigee-এ একটি শংসাপত্র সেট আপ করে এবং আপনার সিস্টেম থেকে Apigee-তে নিরাপদে সংযোগ করতে রিমোট সার্ভিস ব্যবহার করবে এমন শংসাপত্র তৈরি করে।

  1. $CLI_HOME ডিরেক্টরিতে যান:
    cd $CLI_HOME
  2. নিম্নলিখিত পরিবেশ ভেরিয়েবল তৈরি করুন। এই ভেরিয়েবলগুলিকে প্রভিশনিং স্ক্রিপ্টের প্যারামিটার হিসাবে ব্যবহার করা হবে:
    export ORG=organization_name
    export ENV=environment_name
    export USER=your_apigee_username
    export PASSWORD=your_apigee_password

    কোথায়:

    পরিবর্তনশীল বর্ণনা
    organization_name আপনার Apigee প্রতিষ্ঠানের নাম।
    environment_name আপনার প্রতিষ্ঠানের একটি পরিবেশের নাম।
    your_apigee_username আপনার Apigee অ্যাকাউন্ট ব্যবহারকারীর নাম. সাধারণত ব্যবহারকারীর নাম একটি ইমেল ঠিকানা।
    your_apigee_password আপনার Apigee পাসওয়ার্ড.
  3. Apigee Edge এ রিমোট সার্ভিস প্রক্সি সরবরাহ করতে নিম্নলিখিত কমান্ডটি চালান:

    আপনি যদি আপগ্রেড না করেন, Apigee এর ব্যবস্থা করতে এই কমান্ডটি ব্যবহার করুন:

    $CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \
      --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml

    আপনি যদি আপগ্রেড করছেন, Apigee-এর ব্যবস্থা করতে --force-proxy-install পতাকার সাথে এই কমান্ডটি ব্যবহার করুন:

    $CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \
      --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
  4. config.yaml ফাইলের বিষয়বস্তু পরীক্ষা করুন। এটি এই মত কিছু দেখা উচিত:
    # Configuration for apigee-remote-service-envoy (platform: SaaS)
    # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: apigee-remote-service-envoy
      namespace: apigee
    data:
      config.yaml: |
        tenant:
          internal_api: https://istioservices.apigee.net/edgemicro
          remote_service_api: https://my-username-test.apigee.net/remote-service
          org_name: my-org
          env_name: my-env
          key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664
          secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75
       ...

    রিমোট সার্ভিস প্রক্সি থেকে Apigee এজ-এর অনুরোধ যাচাই করতে কী এবং গোপন মান ব্যবহার করা হয়।

দূত সেবার জন্য Apigee রিমোট সার্ভিস চালান

আপনি একটি নেটিভ বাইনারি বা ডকার হিসাবে দূরবর্তী পরিষেবা চালাতে পারেন।

স্থানীয়ভাবে পরিষেবাটি চালান

প্রভিশনিং কমান্ড দ্বারা আউটপুট করা কনফিগার ফাইলের সাথে পরিষেবা বাইনারি চালান:

$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml

ডকারে পরিষেবাটি চালান

ডকার ইমেজ রিলিজ ট্যাগ সঙ্গে প্রকাশিত হয়. এই ইনস্টল করার জন্য, সর্বশেষ সংস্করণ ব্যবহার করুন. নির্বাচন করার জন্য তিনটি চিত্র বৈচিত্র রয়েছে:

প্রকরণ ছবি
বিভ্রান্তিহীন গুগল google/apigee-envoy-adapter:v2.0.0
উবুন্টু google/apigee-envoy-adapter:v2.0.0-ubuntu
বোরিং ক্রিপ্টো সহ উবুন্টু google/apigee-envoy-adapter:v2.0.0-boring

উদাহরণস্বরূপ, ভলিউম মাউন্টের মাধ্যমে /config.yaml হিসাবে উপলব্ধ আপনার স্থানীয় config.yaml সহ স্ক্র্যাচ চিত্রটি চালানোর জন্য, এই কমান্ডটি ব্যবহার করুন:

docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0

নমুনা কনফিগারেশন ফাইল তৈরি করুন

CLI ব্যবহার করে একটি দূত কনফিগারেশন ফাইল তৈরি করুন:

  1. নিশ্চিত করুন যে আপনি $ENVOY_HOME ডিরেক্টরিতে আছেন।
  2. উপলব্ধ কনফিগারেশন টেমপ্লেট তালিকাভুক্ত করুন:
    $CLI_HOME/apigee-remote-service-cli samples templates
  3. স্যাম্পল কমান্ড চালান। TEMPLATE জন্য, সমর্থিত দূত টেমপ্লেটগুলির মধ্যে একটি প্রতিস্থাপন করুন:

    $CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml

    কমান্ডটি ./samples/envoy-config.yaml ফাইল তৈরি করে।

আরও তথ্যের জন্য, নমুনা কমান্ড দেখুন।

এনভয় প্রক্সি ইনস্টল করুন এবং চালান

এনভয় প্রক্সি ইনস্টল এবং চালানোর জন্য এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি দূত বাইনারি ডাউনলোড করুন বা এটি তৈরি করুন , অথবা ডকার ব্যবহার করুন।
  2. একটি নমুনা কনফিগারেশন ফাইল ব্যবহার করে দূত চালান যা আপনি আগে httpbin.org পরিষেবার জন্য তৈরি করেছিলেন:
    envoy -c ./samples/envoy-config.yaml

ইনস্টলেশন পরীক্ষা করুন

  1. একটি এপিআই পণ্য কনফিগার করুন এবং একটি এপিআই কী পান কিভাবে একটি এপিআই কী পেতে হয়
  2. একটি API কী ছাড়া httpbin পরিষেবাতে কল করুন:
    curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
    

    পরিষেবাটি এখন Apigee দ্বারা পরিচালিত হচ্ছে, এবং যেহেতু আপনি একটি API কী সরবরাহ করেননি, কলটি নিম্নলিখিত ত্রুটিটি ফেরত দেয়৷

    curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
    HTTP/1.1 403 Forbidden
    date: Tue, 12 May 2020 17:51:36 GMT
    server: envoy
    content-length: 0
    x-envoy-upstream-service-time: 11
  3. কী ব্যবহার করে একটি API কল করুন:
    export APIKEY=YOUR_API_KEY
    curl -i http://localhost:8080/headers \
    -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"

    কলটি একটি 200 স্ট্যাটাস এবং প্রতিক্রিয়াতে শিরোনামগুলির একটি তালিকা ফিরিয়ে দিয়ে সফল হওয়া উচিত। যেমন:

    curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS"
    HTTP/1.1 200 OK
    server: envoy
    date: Tue, 12 May 2020 17:55:34 GMT
    content-type: application/json
    content-length: 828
    access-control-allow-origin: *
    access-control-allow-credentials: true
    x-envoy-upstream-service-time: 301
    
    {
      "headers": {
        "Accept": "*/*",
        "Content-Length": "0",
        "Host": "httpbin.default.svc.cluster.local",
        "User-Agent": "curl/7.70.0-DEV",
        "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS",
        "X-Apigee-Accesstoken": "",
        "X-Apigee-Api": "httpbin.default.svc.cluster.local",
        "X-Apigee-Apiproducts": "httpbin",
        "X-Apigee-Application": "httpbin",
        "X-Apigee-Authorized": "true",
        "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS",
        "X-Apigee-Developeremail": "user@example.com",
        "X-Apigee-Environment": "test",
        "X-Apigee-Organization": "my-org",
        "X-Apigee-Scope": "",
        "X-B3-Parentspanid": "1476f9a2329bbdfa",
        "X-B3-Sampled": "0",
        "X-B3-Spanid": "1ad5c19bfb4bc96f",
        "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa"
      }
    }

পরবর্তী পদক্ষেপ

httpbin পরিষেবাতে API ট্র্যাফিক এখন Apigee দ্বারা পরিচালিত হয়। এখানে কিছু বৈশিষ্ট্য রয়েছে যা আপনি অন্বেষণ করতে এবং চেষ্টা করতে পারেন:

  • যদি আপনি আপনার API পণ্য কনফিগার করেন যেমন একটি API কী প্রাপ্ত করার জন্য ব্যাখ্যা করা হয়েছে, কোটার সীমা প্রতি মিনিটে 5 অনুরোধে সেট করা হয়েছিল। কোটা ট্রিগার করতে httpbin পরিষেবাকে আরও কয়েকবার কল করার চেষ্টা করুন। কোটা শেষ হয়ে গেলে, একটি HTTP স্থিতি 403 ত্রুটি ফিরে আসে।
  • এজ UI এ Apigee অ্যানালিটিক্স অ্যাক্সেস করুন। বিশ্লেষণ > API মেট্রিক্স > API প্রক্সি পারফরম্যান্স- এ যান।
  • API কল প্রমাণীকরণ করতে JWT টোকেন তৈরি এবং ব্যবহার করুন।
  • পরিচালনা, টোকেন তৈরি এবং বাইন্ডিং নিয়ন্ত্রণ করতে CLI ব্যবহার করুন। CLI বিবরণের জন্য, রেফারেন্স দেখুন।