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

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

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

পূর্বশর্ত

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

ওভারভিউ

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

নিম্নলিখিত চিত্রটি এপিজি এজ ইন্টিগ্রেশনের জন্য মৌলিক আর্কিটেকচার দেখায়:

A high-level
    view of the Envoy Adapter running natively to communicate with Apigee Edge Cloud, including the
    management plane, runtime plane, and GCP services

একটি দূত প্রক্সি এবং রিমোট সার্ভিস স্থানীয়ভাবে চলছে। দূত টার্গেট সার্ভিসে এবং সেখান থেকে API ট্র্যাফিক পরিচালনা করে এবং রিমোট সার্ভিসের সাথে যোগাযোগ করে। রিমোট সার্ভিস API পণ্য এবং প্রক্সি তথ্য পুনরুদ্ধার করতে Apigee Edge Cloud এর সাথে যোগাযোগ করে।

বিধান 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-remote-service-cli provision --legacy --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

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

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

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

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

docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v1.1.0

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

নমুনা কনফিগারেশন ফাইল তৈরি করতে apigee-remote-service-cli samples create কমান্ড ব্যবহার করুন।

এই উদাহরণের জন্য, আপনার এই তৈরি করা ফাইলগুলির প্রয়োজন:

  • envoy-config.yaml - একটি HTTP পরিষেবার জন্য একটি স্থাপনার কনফিগারেশন।

নমুনা তৈরি করতে:

  1. $CLI_HOME ডিরেক্টরিতে যান।
  2. ফাইলগুলি তৈরি করতে এই কমান্ডটি চালান:

    ./apigee-remote-service-cli samples create --template native -c ./config.yaml

    নিম্নলিখিত ফাইলগুলি ./samples ডিরেক্টরির আউটপুট:

    ls samples
    envoy-config.yaml
    

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

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

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

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

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

  1. httpbin পরিষেবাতে কল করুন:
    curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"
    

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

    curl -i http://localhost:8080/httpbin/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
  2. একটি এপিআই পণ্য কনফিগার করুন এবং একটি এপিআই কী পান কিভাবে একটি এপিআই কী পেতে হয়
  3. কী ব্যবহার করে একটি API কল করুন:
    export APIKEY=YOUR_API_KEY
    curl -i http://localhost:8080/httpbin/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 বিবরণের জন্য, রেফারেন্স দেখুন।