অপারেশন গাইড

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

কিভাবে একটি API কী পেতে হয়

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

1. Apigee এ লগ ইন করুন

  1. একটি ব্রাউজারে Apigee UI খুলুন।
  2. একবার আপনি UI-তে গেলে, একই সংস্থা নির্বাচন করুন যা আপনি দূতের জন্য Apigee অ্যাডাপ্টার কনফিগার করতে ব্যবহার করেছিলেন।

2. একটি বিকাশকারী তৈরি করুন৷

আপনি পরীক্ষার জন্য একটি বিদ্যমান বিকাশকারী ব্যবহার করতে পারেন, বা নিম্নরূপ একটি নতুন তৈরি করতে পারেন:

  1. পাশের নেভিগেশন মেনুতে প্রকাশ > বিকাশকারী নির্বাচন করুন।
  2. + বিকাশকারী ক্লিক করুন।
  3. একটি নতুন বিকাশকারী তৈরি করতে ডায়ালগটি পূরণ করুন৷ আপনি আপনার ইচ্ছামত যেকোন ডেভেলপারের নাম/ইমেল ব্যবহার করতে পারেন।

3. একটি API পণ্য তৈরি করুন

নীচে দেওয়া পণ্য তৈরি উদাহরণ অনুসরণ করুন. এপিআই পণ্য কনফিগারেশন সম্পর্কে আরও দেখুন।

  1. পাশের নেভিগেশন মেনুতে প্রকাশ > API পণ্য নির্বাচন করুন।
  2. ক্লিক করুন + API পণ্য .
  3. নিম্নরূপ পণ্য বিবরণ পৃষ্ঠাটি পূরণ করুন. এটি করার নির্দেশ না দেওয়া পর্যন্ত সংরক্ষণ ক্লিক করবেন না।
  4. মাঠ মান
    নাম httpbin-product
    প্রদর্শনের নাম httpbin product
    পরিবেশ your_environment

    আপনিapigee-remote-service-cli এর সাথে এনভয়-এর জন্য Apigee অ্যাডাপ্টারের ব্যবস্থা করার সময় আপনার ব্যবহার করা পরিবেশে এটি সেট করুন।

    অ্যাক্সেস Private
    কোটা প্রতি 1 মিনিটে 5টি অনুরোধ

    কোটা বোঝার বিষয়টিও দেখুন।

  5. Apigee রিমোট সার্ভিস টার্গেট বিভাগে, একটি Apigee রিমোট সার্ভিস টার্গেট যোগ করুন ক্লিক করুন।
  6. Apigee রিমোট সার্ভিস টার্গেট ডায়ালগে, নিম্নলিখিত মান যোগ করুন:
    বৈশিষ্ট্য মান বর্ণনা
    টার্গেটের নাম টার্গেট সার্ভিসের নাম লিখুন। যেমন: httpbin.org টার্গেট এন্ডপয়েন্ট এনভয় প্রক্সি দ্বারা ফ্রন্ট করা হয়েছে।
    API প্রক্সি remote-service remote-service প্রক্সি যা এনভয় অ্যাডাপ্টার ইনস্টলেশনের সময় Apigee-এ সরবরাহ করা হয়েছিল।
    পথ একটি নির্দিষ্ট পাথ মেলে একটি / resource_path লিখুন। উদাহরণস্বরূপ: /httpbin টার্গেট এন্ডপয়েন্টে মেলানোর অনুরোধের পথ। এই পাথে API প্রক্সি কলগুলি এই API পণ্যের সাথে মিলবে৷

    এজ পাবলিক বা প্রাইভেট ক্লাউড: নিম্নলিখিত স্ক্রিনশটটি httpbin.org টার্গেটের জন্য সঠিকভাবে কনফিগার করা ডায়ালগ সেটিংস দেখায়, Apigee এজ পাবলিক বা প্রাইভেট ক্লাউডের জন্য একটি উপযুক্ত কনফিগারেশন।

  7. Save এ ক্লিক করুন।

4. একটি বিকাশকারী অ্যাপ তৈরি করুন৷

  1. পাশের নেভিগেশন মেনুতে প্রকাশ > অ্যাপ নির্বাচন করুন।
  2. + অ্যাপে ক্লিক করুন।
  3. নিম্নলিখিত হিসাবে বিকাশকারী অ্যাপ পৃষ্ঠাটি পূরণ করুন। এটি করার নির্দেশ না দেওয়া পর্যন্ত সংরক্ষণ করবেন না।
  4. নাম httpbin-app
    প্রদর্শনের নাম httpbin app
    বিকাশকারী আপনি পূর্বে তৈরি করা বিকাশকারী নির্বাচন করুন, অথবা তালিকা থেকে আপনার পছন্দের যে কোনো বিকাশকারীকে বেছে নিন।
  5. এরপরে, অ্যাপটিতে দুটি পণ্য যুক্ত করুন:
    1. প্রথমে, শংসাপত্র বিভাগে, + পণ্য যোগ করুন ক্লিক করুন এবং আপনি যে পণ্যটি কনফিগার করেছেন সেটি নির্বাচন করুন: httpbin-product
    2. তারপর, রিমোট-সার্ভিস পণ্য যোগ করুন। আপনি Apigee প্রভিশন করার সময় এই পণ্যটি স্বয়ংক্রিয়ভাবে তৈরি হয়েছিল।
  6. তৈরি করুন ক্লিক করুন।
  7. শংসাপত্রের অধীনে, কী এর পাশে দেখান ক্লিক করুন।
  8. কনজিউমার কী এর মান কপি করুন। এই মানটি হল API কী যা আপনি httpbin পরিষেবাতে API কল করতে ব্যবহার করবেন।

API পণ্য সম্পর্কে

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

API পণ্য সংজ্ঞা

যখন আপনি Apigee-তে একটি API পণ্য সংজ্ঞায়িত করেন, তখন আপনি অনেকগুলি পরামিতি সেট করতে পারেন যা অনুরোধগুলি মূল্যায়ন করতে ব্যবহৃত হবে:

  • টার্গেট
  • পথ অনুরোধ
  • কোটা
  • OAuth স্কোপ

রিমোট সার্ভিস টার্গেট

API পণ্য সংজ্ঞা একটি অনুরোধে প্রযোজ্য হবে যদি অনুরোধটি লক্ষ্য বাঁধাই (উদাহরণস্বরূপ, httpbin.org ) এবং অনুরোধের পথ (উদাহরণস্বরূপ /httpbin ) উভয়ের সাথে মিলে যায়। সম্ভাব্য লক্ষ্যগুলির একটি তালিকা API পণ্যে একটি বৈশিষ্ট্য হিসাবে সংরক্ষণ করা হয়।

ডিফল্টরূপে, Apigee রিমোট সার্ভিস তার লক্ষ্যের তালিকার বিপরীতে দূতের বিশেষ :authority (host) হেডার পরীক্ষা করে; তবে এটি অন্যান্য হেডার ব্যবহার করার জন্য কনফিগার করা যেতে পারে।

এপিআই রিসোর্স পাথ

প্রবেশ করা পথ নিম্নলিখিত নিয়ম অনুযায়ী মেলে:

  • একটি একক স্ল্যাশ ( / ) নিজে থেকে যেকোনো পথের সাথে মেলে।
  • * যেকোনো জায়গায় বৈধ এবং একটি সেগমেন্টের মধ্যে (স্ল্যাশের মধ্যে) মেলে।
  • ** শেষে বৈধ এবং লাইনের শেষের যেকোনো কিছুর সাথে মেলে।

কোটা

একটি কোটা একটি ঘন্টা, দিন, সপ্তাহ বা মাসে একটি এপিআই-এ জমা দেওয়ার অনুমতিপ্রাপ্ত অনুরোধ বার্তাগুলির সংখ্যা নির্দিষ্ট করে৷ যখন একটি অ্যাপ তার কোটা সীমায় পৌঁছে যায়, তখন পরবর্তী API কলগুলি প্রত্যাখ্যান করা হয়।

কোটা ব্যবহারের ক্ষেত্রে

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

কোটা একটি API পণ্যে সংজ্ঞায়িত করা হয়

কোটা প্যারামিটারগুলি API পণ্যগুলিতে কনফিগার করা হয়েছে৷ উদাহরণস্বরূপ, আপনি যখন একটি API পণ্য তৈরি করেন, আপনি ঐচ্ছিকভাবে অনুমোদিত কোটা সীমা, সময় ইউনিট এবং ব্যবধান সেট করতে পারেন।

যেহেতু API কীগুলি API পণ্যগুলিতে ফিরে আসে, প্রতিবার একটি API কী যাচাই করা হলে উপযুক্ত কোটা কাউন্টারটি হ্রাস করা যেতে পারে (যদি সংশ্লিষ্ট পণ্যে একটি কোটা সংজ্ঞায়িত করা হয়)।

Apigee রানটাইমের বিপরীতে, পণ্যের সংজ্ঞায় প্রবেশ করা কোটাগুলি Apigee রিমোট সার্ভিস দ্বারা স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়। অনুরোধ অনুমোদিত হলে, অনুরোধটি অনুমোদিত কোটার সাথে গণনা করা হবে।

যেখানে কোটা বহাল থাকে

কোটা রক্ষণাবেক্ষণ করা হয় এবং দূরবর্তী পরিষেবা প্রক্রিয়া দ্বারা স্থানীয়ভাবে পরীক্ষা করা হয় এবং Apigee রানটাইমের সাথে অ্যাসিঙ্ক্রোনাসভাবে রক্ষণাবেক্ষণ করা হয়। এর অর্থ হল কোটাগুলি সুনির্দিষ্ট নয় এবং আপনার যদি একাধিক রিমোট পরিষেবা থাকে যা কোটা বজায় রাখছে তবে কিছু ওভাররান হওয়ার সম্ভাবনা রয়েছে৷ Apigee রানটাইমের সাথে সংযোগ বিঘ্নিত হলে, স্থানীয় কোটা একটি স্বতন্ত্র কোটা হিসাবে চলতে থাকবে যতক্ষণ না এটি Apigee রানটাইমের সাথে পুনরায় সংযোগ করতে পারে।

OAuth স্কোপ

আপনি যদি JWT টোকেন ব্যবহার করেন, তাহলে আপনি অনুমোদিত OAuth স্কোপের উপসেটে টোকেনগুলিকে সীমাবদ্ধ করতে পারেন। আপনার জারি করা JWT টোকেনের জন্য নির্ধারিত স্কোপগুলি API পণ্যের স্কোপের বিপরীতে চেক করা হবে।

ডেভেলপার অ্যাপস সম্পর্কে

একবার আপনি আপনার API পণ্যগুলি কনফিগার করার পরে, আপনি একটি বিকাশকারীর সাথে যুক্ত একটি অ্যাপ তৈরি করবেন৷ অ্যাপটি একটি API কী বা JWT টোকেন সহ সংশ্লিষ্ট API পণ্যগুলিতে একটি ক্লায়েন্টকে অ্যাক্সেসের অনুমতি দেয়।

JWT ভিত্তিক প্রমাণীকরণ ব্যবহার করে

আপনি একটি API কী ব্যবহার করার পরিবর্তে প্রমাণীকৃত API প্রক্সি কল করতে একটি JWT টোকেন ব্যবহার করতে পারেন। JWT টোকেন তৈরি, পরিদর্শন এবং ঘোরাতে apigee-remote-service-cli token কমান্ড কীভাবে ব্যবহার করতে হয় তা এই বিভাগে ব্যাখ্যা করে।

ওভারভিউ

JWT যাচাইকরণ এবং প্রমাণীকরণ দূত তারJWT প্রমাণীকরণ ফিল্টার ব্যবহার করে পরিচালনা করে।

একবার প্রমাণীকরণ হয়ে গেলে, Envoy ext-authz ফিল্টার অনুরোধ শিরোনাম এবং JWT apigee-remote-service-envoy এ পাঠায়। এটি JWT-এর api_product_list এবং Apigee API পণ্যের বিরুদ্ধে scope দাবির সাথে মেলে যাতে অনুরোধের লক্ষ্যের বিপরীতে এটি অনুমোদন করা যায়।

Apigee JWT টোকেন তৈরি করা হচ্ছে

Apigee JWT টোকেন CLI ব্যবহার করে তৈরি করা যেতে পারে:

apigee-remote-service-cli token create -c config.yaml --id $KEY --secret $SECRET

অথবা স্ট্যান্ডার্ড OAuth টোকেন এন্ডপয়েন্ট ব্যবহার করে। কার্ল উদাহরণ:

curl https://org-env.apigee.net/remote-service/token -d '{"client_id":"myclientid","client_secret":"myclientsecret","grant_type":"client_credentials"}' -H "Content-type: application/json"

JWT টোকেন ব্যবহার করে

একবার আপনার কাছে টোকেন হয়ে গেলে, আপনি এটিকে অনুমোদন শিরোনামে দূতের কাছে পাঠান। উদাহরণ:

curl localhost:8080/httpbin/headers -i -H "Authorization:Bearer $TOKEN"

JWT টোকেন ব্যর্থতা

দূত প্রত্যাখ্যান

যদি দূত টোকেন প্রত্যাখ্যান করে, তাহলে আপনি একটি বার্তা দেখতে পাবেন:

Jwks remote fetch is failed

যদি তাই হয়, নিশ্চিত করুন যে আপনার দূত কনফিগারেশনে remote_jwks বিভাগে একটি বৈধ URI রয়েছে, এটি এনভয় দ্বারা পৌঁছানো যায় এবং আপনি যখন Apigee প্রক্সি ইনস্টল করেন তখন আপনি সঠিকভাবে শংসাপত্র সেট করেন। আপনি একটি GET কলের মাধ্যমে সরাসরি URI-তে কল করতে সক্ষম হবেন এবং একটি বৈধ JSON প্রতিক্রিয়া পাবেন৷

উদাহরণ:

curl --http1.1 https://myorg-eval-test.apigee.net/remote-service/certs

দূতের অন্যান্য বার্তাগুলি এইরকম দেখতে পারে:

  • "Jwt-এ শ্রোতাদের অনুমতি নেই"
  • "Jwt ইস্যুকারী কনফিগার করা নেই"

এগুলি আপনার দূত কনফিগারেশনের প্রয়োজনীয়তা থেকে যা আপনাকে পরিবর্তন করতে হতে পারে।

একটি টোকেন পরিদর্শন করুন

আপনি আপনার টোকেন পরিদর্শন করতে CLI ব্যবহার করতে পারেন। উদাহরণ

apigee-remote-service-cli -c config.yaml token inspect -f path/to/file

বা

apigee-remote-service-cli -c config.yaml token inspect <<< $TOKEN

ডিবাগিং

দেখুন বৈধ API কী ব্যর্থ হয়েছে

লগিং

আপনি $REMOTE_SERVICE_HOME/apigee-remote-service-envoy পরিষেবাতে লগিং স্তর সামঞ্জস্য করতে পারেন৷ সমস্ত লগিং stderr এ পাঠানো হয়।

উপাদান প্রয়োজন বর্ণনা
-l, --log_level বৈধ মাত্রা: ডিবাগ, তথ্য, সতর্কতা, ত্রুটি। লগিং লেভেল অ্যাডজাস্ট করে। ডিফল্ট: তথ্য
-j, --json_log JSON রেকর্ড হিসাবে লগ আউটপুট নির্গত করে।

দূত লগিং প্রদান করে। আরও তথ্যের জন্য, নিম্নলিখিত দূত ডকুমেন্টেশন লিঙ্কগুলি দেখুন:

একটি নেটওয়ার্ক প্রক্সি ব্যবহার করে

apigee-remote-service-envoy binary-এর পরিবেশে HTTP_PROXY এবং HTTPS_PROXY এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে একটি HTTP প্রক্সি ঢোকানো যেতে পারে। এগুলি ব্যবহার করার সময়, NO_PROXY এনভায়রনমেন্ট ভেরিয়েবলটি নির্দিষ্ট হোস্টকে প্রক্সির মাধ্যমে পাঠানো থেকে বাদ দিতেও ব্যবহার করা যেতে পারে।

HTTP_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port]
HTTPS_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port]
NO_PROXY=127.0.0.1,localhost

মনে রাখবেন যে প্রক্সিটি apigee-remote-service-envoy থেকে পৌঁছাতে হবে।

মেট্রিক্স এবং বিশ্লেষণ সম্পর্কে

একটি প্রমিথিউস মেট্রিক্স এন্ডপয়েন্ট পাওয়া যায় :5001/metrics । আপনি এই পোর্ট নম্বর কনফিগার করতে পারেন. কনফিগারেশন ফাইল দেখুন।

দূত বিশ্লেষণ

নিম্নলিখিত লিঙ্কগুলি এনভয় প্রক্সি অ্যানালিটিক্স ডেটা পাওয়ার বিষয়ে তথ্য প্রদান করে:

Istio বিশ্লেষণ

নিম্নলিখিত লিঙ্কগুলি এনভয় প্রক্সি অ্যানালিটিক্স ডেটা পাওয়ার বিষয়ে তথ্য প্রদান করে:

Apigee বিশ্লেষণ

দূতের জন্য Apigee রিমোট সার্ভিস অ্যানালিটিক্স প্রসেসিংয়ের জন্য Apigee-কে অনুরোধের পরিসংখ্যান পাঠায়। Apigee সংশ্লিষ্ট API পণ্য নামের অধীনে এই অনুরোধ রিপোর্ট.

Apigee অ্যানালিটিক্স সম্পর্কে তথ্যের জন্য, অ্যানালিটিক্স পরিষেবা ওভারভিউ দেখুন।