apigee-adminapi.sh ইউটিলিটি ব্যবহার করা

apigee-adminapi.sh Edge ম্যানেজমেন্ট API-কে কল করে অনেক রক্ষণাবেক্ষণ টাস্ক পারফর্ম করে।

apigee-adminapi.sh সম্পর্কে

apigee-adminapi.sh ইনভোক করুন

আপনি ম্যানেজমেন্ট সার্ভার নোড থেকে apigee-adminapi.sh চালু করেন। ইউটিলিটি ইনভোক করার সময়, আপনাকে অবশ্যই নিম্নলিখিত বিষয়গুলি এনভায়রনমেন্ট ভেরিয়েবল বা কমান্ড লাইন বিকল্প হিসেবে ডিফাইন করতে হবে:

  • ADMIN_EMAIL (admin কমান্ড লাইন বিকল্পের সাথে সম্পর্কিত)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

নিচে দেওয়া উদাহরণে apigee-adminapi.sh ইনভোক করা হয়েছে এবং কমান্ড লাইন বিকল্প হিসেবে প্রয়োজনীয় ভ্যালু পাস করা হয়েছে:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost

নিচের উদাহরণে প্রয়োজনীয় বিকল্পগুলিকে সাময়িক এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সংজ্ঞায়িত করা হয়েছে এবং তারপরে apigee-adminapi.sh ইউটিলিটি ইনভোক করা হয়েছে:

export ADMIN_EMAIL=user@example.com
export ADMIN_PASSWORD=abcd1234
export EDGE_SERVER=192.168.56.101
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh servers list

আপনি যদি বিকল্প হিসেবে পাসওয়ার্ড না দেন বা এটিকে এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সংজ্ঞায়িত না করেন, apigee-adminapi.sh আপনাকে এটি লিখতে প্রম্পট করবে।

apigee-adminapi.sh প্যারামিটার সেট করুন

কমান্ড-লাইন সুইচ বা এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে আপনাকে অবশ্যই কোনও কমান্ডের সব প্যারামিটার লিখতে হবে। প্রয়োজন অনুযায়ী কমান্ড লাইন সুইচের আগে একটি ড্যাশ (-) বা ডবল ড্যাশ (--) যোগ করুন।

যেমন, আপনি সংস্থার নাম এইভাবে উল্লেখ করতে পারেন:

  • -o কমান্ড লাইন সুইচ ব্যবহার করে:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • ORG নামের এনভায়রনমেন্ট ভেরিয়েবল সেট করা হচ্ছে:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

কমান্ডে কোনও প্রয়োজনীয় প্যারামিটার বাদ দিলে, ইউটিলিটি একটি সমস্যার মেসেজ দেখায় যেখানে বাদ দেওয়া প্যারামিটার সম্পর্কে বর্ণনা করা থাকে। যেমন, আপনি যদি --host বিকল্পটি বাদ দেন (যা EDGE_SERVER এনভায়রনমেন্ট ভেরিয়েবলের সাথে সম্পর্কিত), তাহলে apigee-adminapi.sh নিম্নলিখিত সমস্যার কথা জানায়:

Error with required variable or parameter
ADMIN_PASSWORD....OK
ADMIN_EMAIL....OK
EDGE_SERVER....null

আপনি HTTP STATUS CODE: 401 সংক্রান্ত সমস্যা দেখতে পেলে, ভুল পাসওয়ার্ড লিখেছেন।

apigee-adminapi.sh সংক্রান্ত সহায়তা পান

যেকোনও সময়, উপলভ্য কমান্ড বিকল্পের তালিকা সহ একটি প্রম্পট দেখতে Tab কী ব্যবহার করুন।

সম্ভাব্য সব কমান্ড দেখতে, কোনও বিকল্প ছাড়াই ইউটিলিটি চালু করুন:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh

আপনি apigee-adminapi.sh টাইপ করার পরে ট্যাব কী প্রেস করলে, সম্ভাব্য বিকল্পের তালিকা দেখতে পাবেন:

analytics  classification  logsessions  regions  securityprofile  userroles
buildinfo  GET             orgs         runtime  servers          users

ট্যাব কী কমান্ডের প্রসঙ্গের উপর ভিত্তি করে বিকল্পগুলি প্রদর্শন করে। আপনি টাইপ করার পরে Tab কী প্রেস করলে:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

orgs কমান্ড সম্পূর্ণ করার জন্য আপনি সম্ভাব্য বিকল্প দেখতে পাবেন:

add  apis  apps  delete  envs  list  pods  userroles

যেকোনও কমান্ডের জন্য সহায়তা দেখতে -h বিকল্প ব্যবহার করুন। যেমন, আপনি যদি নিচে দেখানো -h বিকল্প ব্যবহার করেন:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -h

ইউটিলিটি orgs কমান্ডের জন্য সম্ভাব্য সব বিকল্পের সম্পূর্ণ সহায়তা তথ্য দেখায়। আউটপুটের প্রথম আইটেমটি orgs add কমান্ডের সহায়তা দেখায়:

+++++++++++++++++++++++++++++++++++++++++++
orgs add
  Required:
    -o ORG Organization name
  Optional:
    -H HEADER add http header in request
    --admin ADMIN_EMAIL admin email address
    --pwd ADMIN_PASSWORD admin password
    --host EDGE_SERVER edge server to make request to
    --port EDGE_PORT port to use for the http request
    --ssl set EDGE_PROTO to https, defaults to http
    --debug ( set in debug mode, turns on verbose in curl )
    -h      Displays Help

apigee-adminapi.sh-এ ফাইল পাস করুন

apigee-adminapi.sh ইউটিলিটি হল curl-এর চারপাশে একটি র‍্যাপার। এর ফলে, কিছু কমান্ড PUT ও POST API কলের সাথে সম্পর্কিত যেগুলি অনুরোধ বডি নেয়। যেমন, ভার্চুয়াল হোস্ট তৈরি করা POST API কলের সাথে সম্পর্কিত যার জন্য অনুরোধের বডিতে ভার্চুয়াল হোস্ট সম্পর্কে তথ্য প্রয়োজন।

ভার্চুয়াল হোস্ট তৈরি করতে অথবা কোনও কমান্ডের জন্য রিকোয়েস্ট বডি প্রয়োজন হলে, apigee-adminapi.sh ইউটিলিটি ব্যবহার করার সময় নিচে দেখানো কমান্ড লাইনে প্রয়োজনীয় সব তথ্য পাস করতে পারবেন:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -v myVHostUtil -p 9005 -a 192.168.56.101:9005

অথবা, আপনি এমন একটি ফাইল পাস করতে পারেন যাতে POST-এর অনুরোধের মূল অংশে থাকা তথ্যের মতো একই তথ্য রয়েছে। যেমন, নিম্নলিখিত কমান্ডটি ভার্চুয়াল হোস্টকে সংজ্ঞায়িত করে এমন একটি ফাইল নেয়:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate

যেখানে vhostcreate ফাইলে কলের POST বডি থাকে। এই উদাহরণে, এটি একটি XML-ফরম্যাট করা অনুরোধের বডি:

<VirtualHost name="myVHostUtil">
  <HostAliases>
    <HostAlias>192.168.56.101:9005</HostAlias>
  </HostAliases>
  <Interfaces/>
  <Port>9005</Port>
</VirtualHost>

ডিবাগ ও API সংক্রান্ত তথ্য দেখুন

কমান্ড সম্পর্কে বিস্তারিত তথ্য দেখতে apigee-adminapi.sh ইউটিলিটির --debug বিকল্প ব্যবহার করুন। এই তথ্যে curl কমান্ড অন্তর্ভুক্ত থাকে যা অপারেশনটি করার জন্য apigee-adminapi.sh ইউটিলিটি দ্বারা জেনারেট করা হয়।

যেমন, নিম্নলিখিত কমান্ড --debug বিকল্প ব্যবহার করে। ফলাফলে আন্ডারলায়িং curl কমান্ডের আউটপুট ভার্বোজ মোডে দেখানো হয়:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug
curl -H Content-Type: application/xml -v -X POST -s -k -w \n==> %{http_code}
  -u ***oo@bar.com:*****     http://localhost:8080/v1/o -d <Organization name="testOrg2"
  type="paid"/>
  * About to connect() to localhost port 8080 (#0)
  *   Trying ::1... connected
  * Connected to localhost (::1) port 8080 (#0)
  * Server auth using Basic with user 'foo@bar.com'
  > POST /v1/o HTTP/1.1
  > Authorization: Basic c2dp234234NvbkBhcGlnZ2342342342342341Q5
  > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1
  Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
  > Host: localhost:8080
  > Accept: */*
  > Content-Type: application/xml
  > Content-Length: 43
  >
  } [data not shown]
  < HTTP/1.1 201 Created
  < Content-Type: application/json
  < Date: Tue, 03 May 2016 02:08:32 GMT
  < Content-Length: 291
  <
  { [data not shown]
  * Connection #0 to host localhost left intact
  * Closing connection #0