Edge Microgateway সেট-আপ ও কনফিগার করা

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

Edge Microgateway v. 3.1.5 ও তার পরের যেকোনও ভার্সন

এক নজরে

এই সেট-আপ নির্দেশিকায় উল্লেখ করা ধাপগুলি সম্পূর্ণ করার পরে, আপনার কাছে সম্পূর্ণ কনফিগার করা, কাজ করা Edge মাইক্রোগেটওয়ে ইনস্টলেশন থাকবে যা API অনুরোধ প্রসেস করতে পারবে। আপনি Edge Microgateway-এর মাধ্যমে ব্যাকএন্ড টার্গেটে নিরাপদ API কল করে সেট-আপ পরীক্ষা করবেন। এছাড়াও, আপনি Microgateway-তে কীভাবে স্পাইক অ্যারেস্ট প্লাগ-ইন যোগ করতে হয় তা জানবেন।

এই নির্দেশিকা নিম্নলিখিত অংশে বিভক্ত:

পূর্বশর্ত: Edge Microgateway ইনস্টল করুন

Edge Microgateway ইনস্টল করা লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন। ইনস্টলেশন সম্পূর্ণ করার পরে, আপনি এই টিউটোরিয়ালে উল্লেখ করা ধাপগুলি অনুসরণ করতে পারবেন।

পার্ট ১: Edge মাইক্রোগেটওয়ে কনফিগার করা

এই অংশে, আপনি Edge Microgateway কনফিগার করতে একটি কমান্ড-লাইন ইন্টারফেস (CLI) কমান্ড ব্যবহার করবেন যাতে Apigee Edge-এর সাথে যোগাযোগ করা যায়।

Apigee Edge ক্লাউড কনফিগারেশন ধাপ

Apigee Edge Cloud-এর সাথে Edge Microgateway ব্যবহার করতে, এইসব ধাপ অনুসরণ করুন:

  1. Edge Microgateway ইনিশিয়ালাইজ করা (আপনাকে এই ধাপটি শুধুমাত্র একবারই করতে হবে):
    edgemicro init
  2. default.yaml নামের একটি কনফিগারেশন ফাইল আপনার হোম ডিরেক্টরিতে .edgemicro নামের একটি সাবডিরেক্টরিতে রাখা হয়েছে। এই ফাইলটি আছে কিনা তা নিশ্চিত হতে এখনই চেক করুন:
    ls ~/.edgemicro
    default.yaml

    মনে রাখবেন: Edge Microgateway ডকুমেন্টেশনে, আমরা টিল্ড (~) চিহ্ন সহ হোম ডিরেক্টরি রেফার করি, এটি একটি UNIX শর্টকাট। আপনি Windows ব্যবহার করলে এবং এমন শেল চালালে যা টিল্ড চিহ্নের সাথে কাজ করে না, তাহলে আপনাকে হোম ডিরেক্টরিকে রেফার করে এমন কমান্ডে টিল্ড চিহ্নের পরিবর্তে উপযুক্ত এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে হবে। যেমন: %USERPROFILE%/.edgemicro.

  3. সব CLI কমান্ডে সহায়তা ফাংশন থাকে। edgemicro configure কমান্ডের জন্য প্রিন্ট সহায়তা:
    edgemicro configure -h
  4. Edge Microgateway কনফিগার করতে নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন:
    edgemicro configure -o [org] -e [env] -u [username] 

    যেখানে:

    • org: আপনার Edge সংস্থার নাম (আপনাকে অবশ্যই একজন সংস্থা অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env: আপনার সংস্থার কোনও এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • username: আপনার Apigee অ্যাকাউন্টের সাথে যুক্ত ইমেল আইডি।

      মনে রাখবেন: কনফিগার কমান্ড অতিরিক্ত প্যারামিটার যোগ করার অনুমতি দেয়। সম্পূর্ণ তালিকা দেখতে, Apigee Edge Cloud-এর জন্য Edge Microgateway কনফিগার করা দেখুন।

উদাহরণ

edgemicro configure -o docs -e test -u jdoe@example.com

আউটপুট

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Apigee Private Cloud কনফিগার করার ধাপ

Apigee Private Cloud-এর সাথে Edge Microgateway ব্যবহার করতে, এইসব ধাপ অনুসরণ করুন:

  1. Edge Microgateway ইনিশিয়ালাইজ করা (আপনাকে এই ধাপটি শুধুমাত্র একবারই করতে হবে):
    edgemicro init
  2. edgemicro private configure কমান্ডের জন্য সহায়তা সংক্রান্ত তথ্য প্রিন্ট করুন। আপনি এইভাবে Edge Microgateway CLI কমান্ড বা কমান্ড বিকল্পের জন্য সহায়তা প্রিন্ট করতে পারবেন।
    edgemicro private configure -h
  3. নিম্নলিখিত কমান্ডটি এক্সিকিউট করুন। এর জন্য আপনার Apigee Edge প্রাইভেট ক্লাউড অ্যাকাউন্ট সংক্রান্ত সাধারণ তথ্য প্রয়োজন: সংস্থার নাম, এনভায়রনমেন্টের নাম, ইউজারনেম (ইমেল আইডি), পাসওয়ার্ড, ম্যানেজমেন্ট সার্ভার IP ও রাউটার IP. এই কমান্ড ব্যবহার করতে হলে আপনাকে অবশ্যই Edge সংস্থার অ্যাডমিনিস্ট্রেটর হতে হবে:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • runtime_url হল আপনার ব্যক্তিগত ক্লাউড ইনস্ট্যান্সের রানটাইম URL।
    • mgmt_url হল আপনার প্রাইভেট ক্লাউড ইনস্ট্যান্সের ম্যানেজমেন্ট সার্ভারের URL.
    • username হল আপনার Apigee অ্যাকাউন্টের সাথে যুক্ত ইমেল আইডি।
    • virtual_host হল ভার্চুয়াল হোস্টের কমা-সেপারেটেড তালিকা নাম। ডিফল্ট ভ্যালু হল default,secure

উদাহরণ

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

অথবা, আপনার যদি myorg-test.mycompany.com-এর ভার্চুয়াল হোস্ট অ্যালিয়াস থাকে, তাহলে আপনি এই ধরনের কমান্ড ব্যবহার করবেন:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

আউটপুট

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

edgemicro configuration complete!
    

ইনস্টলেশন যাচাই করা

ইনস্টলেশন যাচাই করতে এই কমান্ডটি চালান। কোনও সমস্যার কথা জানানো না হলে, সবকিছু সঠিকভাবে সেট-আপ করা হয়েছে এবং আপনি Edge Microgateway সফলভাবে চালু করতে পারবেন।

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

যেখানে:

  • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
  • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
  • key হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।
  • secret হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।

উদাহরণ

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

কনফিগারেশন সম্পর্কে

এতক্ষণ পর্যন্ত করা সমস্ত কনফিগারেশন Edge Microgateway-কে Apigee Edge-এ বুটস্ট্র্যাপ করার অনুমতি দেয়। বুস্ট্র্যাপিং সফল হওয়ার পরে, Edge Microgateway, Apigee Edge থেকে অতিরিক্ত কনফিগারেশন সংক্রান্ত তথ্যের পেলোড রিট্রিভ করে।

এই কনফিগারেশন সংক্রান্ত তথ্য কী কাজে ব্যবহার করা হয়? এই টিউটোরিয়ালের পরবর্তী অংশে আমরা দেখব যে Edge Microgateway চালু হলে, Apigee Edge থেকে Edge Microgateway-অ্যাওয়ার API প্রক্সির একটি তালিকা পেতে হবে। এই টিউটোরিয়ালের পরবর্তী অংশে, আপনি Microgateway-সচেতন প্রক্সি তৈরি করবেন। Edge Microgateway ক্লায়েন্টদের শুধুমাত্র সেইসব API কল করার ক্ষেত্রে সীমাবদ্ধ করে যেগুলি এই Microgateway-সচেতন API প্রক্সি দ্বারা ফ্রন্ট-এন্ডে থাকে এবং ক্লায়েন্টদের প্রতিটি কলের জন্য (ডিফল্ট হিসেবে) একটি বৈধ নিরাপত্তা টোকেন দেখাতে হবে। এইসব প্রক্সি সম্পর্কে আরও জানতে, Edge Microgateway-এর ওভারভিউ-তে "Edge Microgateway-সচেতন প্রক্সি সম্পর্কে আপনার কী জানা প্রয়োজন" দেখুন।

Edge অর্গানাইজেশনের অ্যাডমিন হিসেবে, আপনি এটি জেনে আগ্রহী হবেন যে Edge Microgateway-এর ব্যাপারে সচেতন প্রক্সি Edge প্রোডাক্টে যোগ করা যেতে পারে, ঠিক যেমন অন্য কোনও প্রক্সি যোগ করা হয়। প্রোডাক্ট ও ডেভেলপার অ্যাপ ব্যবহার করে, Edge Microgateway-এর মাধ্যমে কল করা API-তে অ্যাক্সেস কন্ট্রোল করতে আপনি ক্লায়েন্ট-নির্দিষ্ট নিরাপত্তা টোকেন জেনারেট করতে পারবেন। আবার, এর সাথে যুক্ত প্যাটার্নগুলি Apigee Edge-এ যেকোনও API প্রক্সি, প্রোডাক্ট এবং ডেভেলপার অ্যাপের সাথে কাজ করার মতো। আপনি যদি প্রোডাক্ট সম্পর্কে আরও পড়তে চান, তাহলে Edge ডকুমেন্টেশনে API প্রোডাক্ট কী? নিবন্ধটি দিয়ে শুরু করুন।

এরপরে, Edge Microgateway-সচেতন প্রক্সি কীভাবে তৈরি করতে হয় তা আমরা দেখব এবং তারপরে, Edge Microgateway চালু করে সেট-আপ পরীক্ষা করব।

পার্ট ২: Apigee Edge-এ এন্টিটি তৈরি করা

এই অংশে, আপনি Edge-এ এইসব এন্টিটি তৈরি করবেন:

  • মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সি - এটি একটি বিশেষ প্রক্সি যা Edge মাইক্রোগেটওয়ে চালু হওয়ার সময় খুঁজে পেতে পারে। মাইক্রোগেটওয়ে-সচেতন প্রক্সির একটি নামকরণের কনভেনশন আছে যা আপনাকে অবশ্যই মেনে চলতে হবে: নাম edgemicro_ দিয়ে শুরু হতে হবে। যেমন edgemicro_hello বা edgemicro_userinfo. Edge Microgateway চালু হলে, এটি Edge থেকে একই Edge সংস্থা ও এনভায়রনমেন্টের মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সির একটি তালিকা রিট্রিভ করে যা আপনি Edge Microgateway চালু করার সময় নির্দিষ্ট করেছিলেন।

    মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সির জন্য, Edge Microgateway প্রক্সির টার্গেট URL এবং এর বেস পাথ রিট্রিভ করে। এছাড়াও, মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সি, Edge প্ল্যাটফর্মে থাকা প্রক্সির সাথে Edge মাইক্রোগেটওয়ে দ্বারা জেনারেট করা অ্যানালিটিক্স ডেটা অ্যাসোসিয়েট করার একটি সুবিধাজনক উপায় প্রদান করে। Microgateway API কল ম্যানেজ করে বলে, এটি Edge-এ অ্যাসিঙ্ক্রোনাসভাবে অ্যানালিটিক্স ডেটা পুশ করে। অন্যান্য প্রক্সির ক্ষেত্রে যেমন হয়, তেমনই মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সি নামের অধীনে Edge Analytics UI-তে অ্যানালিটিক্স ডেটা দেখানো হবে।
  • প্রোডাক্ট, ডেভেলপার ও ডেভেলপার অ্যাপ - Edge Microgateway, OAuth2 অ্যাক্সেস টোকেন বা API কী নিরাপত্তা চালু করতে প্রোডাক্ট, ডেভেলপার ও ডেভেলপার অ্যাপ ব্যবহার করে। Edge Microgateway চালু হলে, এটি আপনার Apigee Edge সংস্থা থেকে সব প্রোডাক্ট কনফিগারেশন ডাউনলোড করে। এটি API কী বা OAuth2 অ্যাক্সেস টোকেন সহ Edge Microgateway-এর মাধ্যমে করা API কল যাচাই করতে এই তথ্য ব্যবহার করে।

১. Edge-এ Edge Microgateway-এর ব্যাপারে সচেতন API প্রক্সি তৈরি করুন

  1. Apigee Edge-এ আপনার সংস্থার অ্যাকাউন্টে লগ-ইন করুন।
  2. সাইড নেভিগেশন মেনু থেকে ডেভেলপ করুন > API প্রক্সি বিকল্প বেছে নিন।
  3. + প্রক্সি বিকল্পে ক্লিক করুন। 'প্রক্সি তৈরি করুন' উইজার্ড চালু করা হয়।
  4. প্রথম উইজার্ড পৃষ্ঠায়, রিভার্স প্রক্সি (সবচেয়ে সাধারণ) বিকল্প বেছে নিন।
  5. পরবর্তী বিকল্পে ক্লিক করুন।
  6. উইজার্ডের 'বিবরণ' পৃষ্ঠায়, নিম্নলিখিতভাবে কনফিগার করুন। উইজার্ডে ঠিক যেভাবে দেখানো হয়েছে সেভাবেই পূরণ করতে ভুলবেন না:
    • প্রক্সির নাম: edgemicro_hello
    • প্রক্সি বেস পাথ: /hello
    • আগে থেকে থাকা API: http://mocktarget.apigee.net/
  7. পরবর্তী বিকল্পে ক্লিক করুন।
  8. উইজার্ডের 'নিরাপত্তা' পৃষ্ঠায়, পাস থ্রু (কোনওটি নয়) বিকল্প বেছে নিন।
  9. পরবর্তী বিকল্পে ক্লিক করুন।
  10. উইজার্ডের ভার্চুয়াল হোস্ট পৃষ্ঠায়, ডিফল্ট মান গ্রহণ করুন।
  11. পরবর্তী বিকল্পে ক্লিক করুন।
  12. উইজার্ডের 'বিল্ড' পৃষ্ঠায়, আপনার প্রক্সি সেটিংস পর্যালোচনা করুন। টেস্ট এনভায়রনমেন্ট বেছে নেওয়া হয়েছে কিনা দেখুন।
  13. বিল্ড ও ডেপ্লয় করুন বিকল্পে ক্লিক করুন।

২. প্রোডাক্ট তৈরি করা

  1. সাইড নেভিগেশন মেনুতে প্রকাশ করুন > API প্রোডাক্ট বিকল্প বেছে নিন।
  2. + API প্রোডাক্ট বিকল্পে ক্লিক করুন। প্রোডাক্টের বিবরণ পৃষ্ঠা দেখা যাবে।
  3. নিম্নলিখিত তথ্য দিয়ে প্রোডাক্টের বিবরণের পৃষ্ঠা পূরণ করুন:
    • নাম: EdgeMicroTestProduct
    • ডিসপ্লে নাম: EdgeMicroTestProduct
    • এনভায়রনমেন্ট: টেস্ট ও প্রোডাকশন
    • অ্যাক্সেস: সর্বজনীন
    • চাবি অনুমোদনের ধরন: অটোমেটিক
  4. রিসোর্সে গিয়ে +API প্রক্সি বিকল্পে ক্লিক করুন
  5. edgemicro-auth বেছে নিন
  6. আবার +API Proxy বিকল্পে ক্লিক করুন।
  7. edgemicro_hello বেছে নিন
  8. + কাস্টম রিসোর্স বিকল্প বেছে নিন
  9. /** লিখুন
  10. আবার + কাস্টম রিসোর্স বিকল্প বেছে নিন।
  11. / লিখুন
  12. সেভ করুন বিকল্পে ক্লিক করুন।

৩. (ঐচ্ছিক) একটি টেস্ট ডেভেলপার তৈরি করুন

এই টিউটোরিয়ালের উদ্দেশ্যে, আপনি পরবর্তী ধাপে, ডেভেলপার অ্যাপ তৈরি করার জন্য আগে থেকে থাকা যেকোনও ডেভেলপার ব্যবহার করতে পারবেন। তবে, আপনি চাইলে, এখন একটি টেস্ট ডেভেলপার তৈরি করুন:

  1. সাইড নেভিগেশন মেনু থেকে প্রকাশ করুন > ডেভেলপার বিকল্প বেছে নিন।
  2. + ডেভেলপার বিকল্পে ক্লিক করুন।
  3. টেস্ট ডেভেলপার তৈরি করতে ডায়ালগ পূরণ করুন।

৪. ডেভেলপার অ্যাপ তৈরি করা

আপনি Edge Microgateway-এর মাধ্যমে সুরক্ষিত API কল করতে এই অ্যাপের ক্লায়েন্ট ক্রেডেনশিয়াল ব্যবহার করতে চলেছেন:

  1. সাইড নেভিগেশন মেনু থেকে প্রকাশ করুন > অ্যাপ বিকল্প বেছে নিন।
  2. + অ্যাপ বিকল্পে ক্লিক করুন। ডেভেলপার অ্যাপের বিবরণ পৃষ্ঠা দেখা যাবে।
  3. নিম্নলিখিত তথ্য দিয়ে ডেভেলপার অ্যাপ পৃষ্ঠা পূরণ করুন:
    1. নাম: EdgeMicroTestApp
    2. ডিসপ্লে নাম: EdgeMicroTestApp
    3. ডেভেলপার: আপনি যদি কোনও টেস্ট ডেভেলপার তৈরি করে থাকেন, তাহলে সেটি বেছে নিন। অথবা, আপনি এই টিউটোরিয়ালের জন্য আগে থেকে থাকা যেকোনও ডেভেলপার ব্যবহার করতে পারেন।
    4. ক্রেডেনশিয়াল:
      1. মেয়াদ শেষ হওয়ার সময় বেছে নিন: কখনও নয়।
      2. + প্রোডাক্ট বিকল্পে ক্লিক করে EdgeMicroTestProduct বেছে নিন (আপনি এইমাত্র যে প্রোডাক্ট তৈরি করেছেন)
  4. সেভ করুন বিকল্পে ক্লিক করুন।
  5. আপনি আবার অ্যাপের তালিকা পৃষ্ঠায় ফিরে এসেছেন।
  6. আপনি যে অ্যাপটি তৈরি করেছেন, EdgeMicroTestApp সেটি বেছে নিন।
  7. কনজিউমার কী ও কনজিউমার সিক্রেট বিকল্পের পাশে থাকা দেখুন বিকল্পে ক্লিক করুন।

বিভাগ ৩: Edge Microgateway অপারেট করা

এখন যেহেতু আপনার কাছে কনফিগার করা Edge Microgateway এবং Edge-এ অন্তত একটি Edge Microgateway-সচেতন প্রক্সি আছে, তাই Edge Microgateway চালু করার সময় এসেছে। আপনার লোকাল মেশিনে Edge Microgateway HTTP সার্ভার চলবে এবং আপনি সরাসরি সেই সার্ভারে API কল করবেন।

১. Edge Microgateway চালু করা

Edge Microgateway চালু করতে edgemicro start কমান্ড ব্যবহার করুন।

  1. edgemicro configure কমান্ড চালানোর সময় যে কীগুলি ফেরত দেওয়া হয়েছিল সেগুলি আপনার কাছে আছে কিনা তা নিশ্চিত করুন। আউটপুটটি দেখতে এই ধরনের ছিল:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  2. (ঐচ্ছিক) edgemicro start কমান্ডের জন্য সহায়তা সংক্রান্ত তথ্য প্রিন্ট করুন।
    edgemicro start -h
  3. Edge Microgateway চালু করতে, নিম্নলিখিত কমান্ডটি চালান:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • key হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।
    • secret হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।

    উদাহরণ

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    আউটপুট

    'স্টার্ট' কমান্ড Apigee Edge থেকে অনেক কনফিগারেশন সংক্রান্ত তথ্য পায় (যা টার্মিনাল উইন্ডোতে স্ক্রল করে)। আউটপুটে, আপনি মাইক্রোগেটওয়ে-অ্যাওয়ার প্রক্সি ও খুঁজে পাওয়া প্রোডাক্টের তালিকা দেখতে পাবেন। আউটপুটের শেষে, আপনাকে এই ধরনের কিছু দেখতে পাওয়ার কথা:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
  4. মাইক্রোগেটওয়ের স্ট্যাটাস চেক করুন। অন্য একটি টার্মিনাল উইন্ডোতে, যে ডিরেক্টরি থেকে Edge Micro শুরু করেছিলেন সেখানে cd করুন এবং এই কমান্ডটি লিখুন:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers

কী ঘটেছিল?

Edge মাইক্রোগেটওয়ে কনফিগারেশন সংক্রান্ত তথ্যের একটি পেলোড Apigee Edge থেকে ডাউনলোড করা হয় এবং লোকালি ক্যাশে করা হয়। এই তথ্যে যা রয়েছে:

  • আমরা এনক্রিপ্ট করা কী ভ্যালু ম্যাপে (KVM) আগে যে পাবলিক কী তৈরি ও সেভ করেছি।
  • সংস্থা/পরিবেশে বিদ্যমান Edge Microgateway-সচেতন সব প্রক্সির একটি উপস্থাপনা। এগুলি হল সেইসব প্রক্সি যেগুলির নামের আগে edgemicro_ প্রিফিক্স আছে।
  • সংস্থা/এনভায়রনমেন্টে উপস্থিত সব API প্রোডাক্টের একটি উপস্থাপনা।

এই তথ্যের সাহায্যে, Edge Microgateway জানতে পারে যে কোন প্রক্সি এবং প্রক্সি পাথকে এটি প্রসেস করতে পারবে। এটি নিরাপত্তা প্রয়োগ করার জন্য প্রোডাক্টের তথ্য ব্যবহার করে (ঠিক সেইভাবে যেভাবে Apigee Edge-এ কোনও API প্রক্সি করে, যেখানে ডেভেলপার অ্যাপ কী প্রোডাক্টের সাথে যুক্ত থাকে)। Edge Microgateway সুরক্ষিত করার ধাপগুলি আমরা শীঘ্রই দেখে নেব।

২. Edge Microgateway পরীক্ষা করা

Edge Microgateway চালু থাকলে, আপনি প্রক্সি কল করতে পারবেন। আপনি Edge Microgateway শুরু করলে Edge থেকে edgemicro_hello প্রক্সির কনফিগারেশন ডাউনলোড করা হয়। মনে রাখবেন, প্রক্সি বেসপাথ হল /hello।

Edge Microgateway পরীক্ষা করতে, আমরা বেস পাথ দিয়ে শুরু করি এবং একটি রিসোর্স পাথ যোগ করি /echo. মনে রাখবেন, বেস পাথ (যেকোনও কোয়েরি প্যারামিটার সহ) -এর পরে যা কিছু আছে তা ব্যাকএন্ড টার্গেটে পাস করা হয়:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

অনুরোধের সাথে আপনি সঠিক API কী বা অ্যাক্সেস টোকেন না পাঠানোর কারণে এই সমস্যাটি হয়েছে। ডিফল্ট হিসেবে, Edge Microgateway-তে প্রতিটি API কলের জন্য API কী বা অ্যাক্সেস টোকেন প্রয়োজন। টিউটোরিয়ালের পরবর্তী ধাপে, আমরা এই API সঠিকভাবে সুরক্ষিত করব এবং কীভাবে একটি বৈধ অ্যাক্সেস টোকেন পেতে হয় এবং অনুরোধের সাথে এটি অন্তর্ভুক্ত করতে হয় তা দেখাব।

৪. Edge Microgateway বন্ধ করা

  1. আলাদা টার্মিনাল উইন্ডোতে, cd থেকে একই ডিরেক্টরিতে যান যেখানে আপনি Edge Microgateway শুরু করেছেন।
  2. 'বন্ধ করো' কমান্ড দিন:
    edgemicro stop

পার্ট ৪: সুরক্ষিত Edge মাইক্রোগেটওয়ে

আপনি API key বা অ্যাক্সেস টোকেন ব্যবহার করে Edge Microgateway-এর মাধ্যমে করা API কল সুরক্ষিত করতে পারবেন।

OAuth2 অ্যাক্সেস টোকেন সহ সুরক্ষিত API কল

আপনি OAuth2 অ্যাক্সেস টোকেন দিয়ে API কল যাচাই করাতে চাইলে, এইসব ধাপ অনুসরণ করুন:

১. প্রয়োজনীয় কী পান

  1. Edge UI-তে, আপনার আগে তৈরি করা ডেভেলপার অ্যাপে নেভিগেট করুন। অ্যাপটির নাম EdgeMicroTestApp ছিল।
  2. Developer অ্যাপ পৃষ্ঠায়, কনজিউমার কী ও কনজিউমার সিক্রেট দেখুন এবং সেগুলি কপি করুন। পরবর্তী ধাপে অ্যাক্সেস টোকেন পাওয়ার জন্য এই ভ্যালুগুলি প্রয়োজন।

২. অ্যাক্সেস টোকেন পান

অ্যাক্সেস টোকেন পাওয়ার দুটি উপায় আছে। আমরা আপনাকে দুটি পদ্ধতিই দেখাব।

অ্যাক্সেস টোকেন পেতে CLI ব্যবহার করা

প্রথম পদ্ধতিটি সুবিধাজনক এবং এটি টিউটোরিয়াল জুড়ে আমরা যে প্যাটার্ন ব্যবহার করেছি সেটি অনুসরণ করে। দ্বিতীয় পদ্ধতি সাধারণত ক্লায়েন্ট অ্যাপ ডেভেলপারদের জন্য বেশি উপযোগী, যাদের টোকেনের অনুরোধ করতে হয়। Edge Microgateway কনফিগার করার সময় ডেপ্লয় করা edgemicro-auth প্রক্সিতে আসল টোকেন এন্ডপয়েন্ট প্রয়োগ করা হয়।

  1. (ঐচ্ছিক) token get কমান্ডের জন্য সহায়তা দেখুন:
    edgemicro token get -h
  2. -i এবং -s প্যারামিটারে Apigee Edge-এ আপনার তৈরি করা ডেভেলপার অ্যাপ থেকে আপনার কনজিউমার কী এবং কনজিউমার সিক্রেট ভ্যালু সাবস্টিটিউট করে টোকেন জেনারেট করুন:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • consumer_id হল ডেভেলপার অ্যাপের কনজিউমার আইডি যা আপনি আগে তৈরি করেছেন।
    • consumer_secret হল আপনার আগে তৈরি করা Developer অ্যাপের গ্রাহক সংক্রান্ত গোপনীয়তা।

    উদাহরণ

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    আউটপুট (স্যাম্পেল)

    current nodejs version is v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(ঐচ্ছিক) টোকেন পেতে API ব্যবহার করা

আপনি যদি curl বা অন্য কোনও HTTP ক্লায়েন্ট ব্যবহার করে Edge প্রক্সি কল করতে অভ্যস্ত হন, তাহলে আপনি এটি জেনে আগ্রহী হবেন যে edgemicro token কমান্ড ব্যবহার করার পরিবর্তে, আপনি সরাসরি টোকেন এন্ডপয়েন্ট কল করতে পারবেন। এখানে curl-এর উদাহরণ দেওয়া হল। URL-এ আপনার সংস্থা ও এনভায়রনমেন্টের নাম বসিয়ে দিন এবং কোলন দিয়ে আলাদা করা Consumer Key:Consumer Secret ভ্যালু Basic Authentication হেডার হিসেবে পাস করুন:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

যেখানে:

  • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
  • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
  • client_id হল আপনার আগে তৈরি করা Developer অ্যাপের কনজিউমার আইডি ।
  • client_secret হল আপনার আগে তৈরি করা ডেভেলপার অ্যাপের গ্রাহক সিক্রেট।

আউটপুট (স্যাম্পেল)

আপনি edgemicro token CLI কমান্ড ব্যবহার করুন বা curl ব্যবহার করে এন্ডপয়েন্ট কল করুন, কমান্ডটি একটি সাইন করা অ্যাক্সেস টোকেন রিটার্ন করে যা ক্লায়েন্ট কল করার জন্য ব্যবহার করা যেতে পারে। এই ধরনের কিছু:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

৩. Edge Microgateway-তে কনফিগারেশন চেক করুন

  1. ফাইল $HOME/.edgemicro/org-env-config.yaml খুলুন। আপনি এই ফাইলটি খুঁজে না পেলে, Edge Microgateway কোথায় ইনস্টল করা হয় দেখুন।
  2. এইসব oauth প্লাগ-ইন প্রপার্টি false হিসেবে সেট করা আছে কিনা তা নিশ্চিত করুন। এগুলি ডিফল্ট হিসেবে মিথ্যা হিসেবে সেট করা থাকে, তবে ডবল-চেক করে নিলে ভালো হয়:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. এছাড়াও, org-env-config.yaml ফাইলে, oauth প্লাগ-ইনটি plugins:sequence এলিমেন্টে যোগ করা আছে কিনা তা ভালোভাবে দেখে নিন, যেমনটি এখানে দেখানো হয়েছে::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. আপনি ফাইলে কোনও পরিবর্তন করলে, চালু থাকা Edge Microgateway ইনস্ট্যান্সে পরিবর্তনগুলি আবার লোড করুন। এই কমান্ডটি কোনও ডাউনটাইম ছাড়াই Edge Microgateway আবার কনফিগার করে:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • key হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।
    • secret হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

৪. নিরাপদে API কল করা

অ্যাক্সেস টোকেন হাতে থাকলে, আপনি এখন নিরাপদে API কল করতে পারবেন। যেমন:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API মক সার্ভার থেকে হেডার ও অন্যান্য তথ্য রিটার্ন করে।

API key-এর মাধ্যমে API সুরক্ষিত করা

অনুমোদনের জন্য API কী ব্যবহার করতে চাইলে, এইসব ধাপ অনুসরণ করুন:

১. API key পান

  1. Edge UI-তে, আপনার আগে তৈরি করা ডেভেলপার অ্যাপে নেভিগেট করুন। অ্যাপটির নাম EdgeMicroTestApp ছিল।
  2. Developer অ্যাপ পৃষ্ঠায়, Consumer Key দেখুন এবং সেটি কপি করুন। এই ভ্যালু হল API কী। আপনি এই কী ব্যবহার করে API কলকে প্রমাণীকৃত করবেন।

২. Edge Microgateway-তে কনফিগারেশন চেক করুন

  1. ফাইলটি খুলুন $HOME/.edgemicro/org-env-config.yaml. আপনি এই ফাইলটি খুঁজে না পেলে Edge Microgateway কোথায় ইনস্টল করা আছে দেখুন।
  2. এইসব oauth প্লাগ-ইন প্রপার্টি false হিসেবে সেট করা আছে কিনা তা নিশ্চিত করুন। এগুলি ডিফল্ট হিসেবে ফলস থাকে, তবে আপনি চাইলে ডবল-চেক করতে পারেন:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. এছাড়াও, org-env-config.yaml ফাইলে, oauth প্লাগ-ইনটি plugins:sequence এলিমেন্টে যোগ করা আছে কিনা তা ভালোভাবে দেখে নিন, যেমনটি এখানে দেখানো হয়েছে::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. আপনি ফাইলে কোনও পরিবর্তন করলে, চালু থাকা Edge Microgateway ইনস্ট্যান্সে পরিবর্তনগুলি আবার লোড করুন। এই কমান্ডটি কোনও ডাউনটাইম ছাড়াই Edge Microgateway আবার কনফিগার করে:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন org অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • key হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।
    • secret হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d

৩. API key ব্যবহার করে নিরাপদে API কল করা

নিচে দেখানো পদ্ধতিতে x-api-key হেডার সহ API কল করুন। আপনি Developer অ্যাপ থেকে যে Consumer Key ভ্যালু কপি করেছেন সেটিই হল API key. ডিফল্ট হিসেবে, Edge Microgateway আশা করে যে আপনি x-api-key নামের একটি হেডারে 'কী' পাস করবেন, যেমনটি এখানে দেখানো হয়েছে:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

যেখানে:

  • apikey হল EdgeMicroTestApp থেকে নেওয়া কনজিউমার কী ভ্যালু।

যেমন:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

এখন আপনার কাছে সম্পূর্ণ ফাংশনাল ও সুরক্ষিত Edge Microgateway আছে। টিউটোরিয়ালের পরবর্তী অংশে, আমরা Edge Microgateway-তে কার্যকারিতা যোগ করে এমন প্লাগ-ইনগুলি দেখব।

পার্ট ৫: Spike Arrest প্লাগ-ইন যোগ করা

এই অংশে, আমরা Edge Microgateway-এর ইনস্ট্যান্সে স্পাইক অ্যারেস্ট নামক রেট-লিমিটিং ফিচার যোগ করব।

প্লাগ-ইন কী?

প্লাগ-ইন হল একটি Node.js মডিউল যা Edge Microgateway-তে ফাংশনালিটি যোগ করে। প্লাগ-ইন মডিউল একটি নির্দিষ্ট প্যাটার্ন মেনে চলে এবং Edge Microgateway-এর পরিচিত লোকেশনে স্টোর করা হয়, যা মাইক্রোগেটওয়েকে সেগুলি অটোমেটিক খুঁজে পেতে এবং লোড করতে সাহায্য করে। আপনি প্লাগ-ইন ব্যবহার করুন থেকে প্লাগ-ইন সম্পর্কে আরও জানতে পারবেন।

স্পাইক অ্যারেস্ট প্লাগ-ইন যোগ করা

স্পাইক অ্যারেস্ট প্লাগ-ইন ট্রাফিক স্পাইক থেকে সুরক্ষিত রাখে। এটি Edge Microgateway ইনস্ট্যান্সের মাধ্যমে প্রসেস করা অনুরোধের সংখ্যাকে থ্রটল করে।

Edge Microgateway-তে, স্পাইক অ্যারেস্ট একটি প্লাগ-ইন মডিউল হিসেবে প্রয়োগ করা হয়। এটি চালু করতে, আপনাকে Edge Microgateway কনফিগারেশন ফাইলে এটি যোগ করতে হবে।

  1. আপনি এই ফাইলটি খুঁজে না পেলে, $HOME/.edgemicro/org-env-config.yaml.Edge Microgateway কোথায় ইনস্টল করা আছে ফাইলটি খুলুন।
  2. নিচে উল্লেখ করা এলিমেন্ট যোগ করুন। আপনি ফাইলের যেকোনও জায়গায় এটি যোগ করতে পারবেন।
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. নিচে দেখানো মতো edgemicro:sequence এলিমেন্টে spikearrest যোগ করুন। সিকোয়েন্স কনফিগারেশন প্রপার্টি Edge Microgateway-কে বলে দেয় যে কোন ক্রমে প্লাগ-ইন মডিউল এক্সিকিউট করা হবে।
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - oauth
        - spikearrest
  4. কনফিগ ফাইল সেভ করুন।
  5. reload কমান্ড দিয়ে Edge Microgateway রিলোড করুন। যে ডিরেক্টরি থেকে Edge Microgateway চালু করেছেন, আপনাকে সেখান থেকেই এই কমান্ড চালাতে হবে।
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    যেখানে:

    • org হল আপনার Edge প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন প্রতিষ্ঠান অ্যাডমিনিস্ট্রেটর হতে হবে)।
    • env হল আপনার সংস্থার একটি এনভায়রনমেন্ট (যেমন, টেস্ট বা প্রোডাকশন)।
    • key হল configure কমান্ডের মাধ্যমে আগে রিটার্ন করা কী।
    • secret হল সেই কী যা আগে configure কমান্ডের মাধ্যমে ফেরত দেওয়া হয়েছে।

    উদাহরণ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. দ্রুত পরপর কয়েকবার API কল করার চেষ্টা করুন। দ্বিতীয় কলের পরে, Edge Microgateway এই সমস্যাটি দেখায়:
    {"message":"SpikeArrest engaged","status":503}

এর কারণ হল, স্পাইক অ্যারেস্ট নির্দিষ্ট সময় ইউনিটের মধ্যে করা কলের সংখ্যাকে স্মুথ করে দেয়। তাই, এই ক্ষেত্রে, আপনি এক মিনিটে ১০টি কল করতে পারেন অথবা প্রতি ৬ সেকেন্ডে একটি কল করতে পারেন।

অতিরিক্ত ক্রেডিট: কোটা প্লাগ-ইন যোগ করা

স্পাইক অ্যারেস্ট কনফিগার করার জন্য ব্যবহৃত একই প্যাটার্ন অনুসরণ করে, আপনি অন্যান্য প্লাগ-ইন যোগ করতে পারেন, যেমন কোটা প্লাগ-ইন। স্পাইক অ্যারেস্টের মতো, প্রতিটি Edge Microgateway ইনস্টলেশনের সাথে কোটা প্লাগ-ইন অন্তর্ভুক্ত থাকে। কোটা নির্দিষ্ট সময়সীমার (মিনিট বা ঘণ্টা) মধ্যে কোনও API-তে কোনও অ্যাপ কতগুলি অনুরোধ মেসেজ জমা দিতে পারবে তা নির্ধারণ করে।

পার্ট ৬: Apigee Edge-এ অ্যানালিটিক্স দেখা

আমাদের কাছে এখন একটি সম্পূর্ণ কার্যকরী Edge Microgateway ইনস্ট্যান্স আছে, এটি কী কী কাজ করেছে তা দেখা যাক! ডিফল্ট হিসেবে, Edge Micro-তে অ্যানালিটিক্স প্লাগ-ইন মডিউল যোগ করা হয়। এই মডিউলটি Edge Micro থেকে Apigee Edge-এ নীরবে Analytics ডেটা পুশ করে, যেখানে এটি Edge Analytics সিস্টেম দ্বারা ব্যবহার করা হয়। দেখা যাক:

  1. Apigee Edge-এ আপনার সংস্থার অ্যাকাউন্টে লগ-ইন করুন।
  2. Analytics > প্রক্সি পারফর্ম্যান্স বিকল্প বেছে নিন।
  3. প্রক্সি পারফর্ম্যান্স ড্যাশবোর্ডে, edgemicro_hello proxy বেছে নিন।
  4. গ্রাফে প্রক্সি সার্ভারের ট্রাফিক প্যাটার্ন সংক্রান্ত তথ্য দেখানো হয়, যেমন মোট ট্রাফিক, উত্তরের গড় সময়, টার্গেট উত্তরের গড় সময় এবং আরও অনেক কিছু।

Edge ডকুমেন্টেশনে Analytics ড্যাশবোর্ডের হোম পেজ থেকে Edge Analytics ড্যাশবোর্ড সম্পর্কে আরও জানতে পারবেন। প্লাগ-ইন সম্পর্কে আরও জানতে, প্লাগ-ইন ব্যবহার করুন