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

Edge for Private Cloud v4.18.05

একই Edge কনফিগারেশন টাস্ক পারফর্ম করতে apigee-adminapi.sh ইউটিলিটি ব্যবহার করুন যা আপনি Edge ম্যানেজমেন্ট API-তে কল করে পারফর্ম করেন। apigee-adminapi.sh ইউটিলিটির সুবিধা হল যে এটি:

  • সহজ কমান্ড-লাইন ইন্টারফেস ব্যবহার করুন
  • ট্যাব-ভিত্তিক কমান্ড কমপ্লিশন প্রয়োগ করে
  • সহায়তা ও ব্যবহারের তথ্য প্রদান করে
  • আপনি API ব্যবহার করে দেখতে চাইলে, সংশ্লিষ্ট API কল দেখাতে পারে

apigee-adminapi.sh ইউটিলিটি apigee-provision ইউটিলিটির বিকল্প নয়। apigee-provision ইউটিলিটি আসলে apigee-adminapi.sh ইউটিলিটি ব্যবহার করে তার কাজ করে।

দুটির মধ্যে প্রধান পার্থক্যগুলি হল:

  • apigee-adminapi.sh ইউটিলিটি অ্যাটমিক ফাংশন পারফর্ম করে যা আলাদা আলাদা Edge API কলকে রিপ্লেস করে। যেমন, একটি সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করতে তিনটি API কলের সাথে সম্পর্কিত তিনটি পৃথক apigee-adminapi.sh কমান্ডের প্রয়োজন।
  • apigee-provision ইউটিলিটিটি একটি একক কমান্ডে একটি সম্পূর্ণ উচ্চ-স্তরের অপারেশন সম্পাদন করার জন্য ডিজাইন করা হয়েছে। যেমন, আপনি একটি apigee-provision কমান্ডের মাধ্যমে প্রয়োজনীয় তথ্য সহ কনফিগারেশন ফাইল পাস করে একটি সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট তৈরি করতে পারবেন।

Edge ডকুমেন্টেশন যেখানে উপযুক্ত সেখানে উভয় ইউটিলিটি ব্যবহার করে।

apigee-adminapi.sh ইনস্টল করা হচ্ছে

আপনি apigee-provision বা apigee-validate ইউটিলিটি ইনস্টল করলে, apigee-adminapi.sh ইউটিলিটি অটোমেটিক ইনস্টল হয়ে যায়।

নিম্নলিখিত লোকেশনে ইউটিলিটি ইনস্টল করা হয়েছে:

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

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh সিনট্যাক্স

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

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

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

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

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

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

/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

কমান্ড-লাইন সুইচ এবং এনভায়রনমেন্ট ভেরিয়েবেল ব্যবহার করে প্যারামিটার সেট করা

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

যেমন, উপরে "orgs add" কমান্ডের জন্য দেখানো সহায়তা থেকে, আপনি সংস্থার নাম এইভাবে উল্লেখ করতে পারেন:

  • -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

কমান্ডে কোনও প্রয়োজনীয় প্যারামিটার বাদ দিলে, ইউটিলিটি একটি সমস্যার মেসেজ দেখায় যেখানে বাদ দেওয়া প্যারামিটার সম্পর্কে বর্ণনা করা থাকে। যেমন, কোনও প্রতিষ্ঠান তৈরি করার সময় আপনি যদি Edge ম্যানেজমেন্ট সার্ভার নির্দিষ্ট করে --host বা EDGE_SERVER এনভায়রনমেন্ট ভেরিয়েবল বাদ দেন, তাহলে নিম্নলিখিত সমস্যার মেসেজ দেখতে পাবেন:

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

দুটি সাধারণ প্যারামিটার যা আপনি প্রায়শই এনভায়রনমেন্ট ভেরিয়েবল হিসাবে সেট করেন তা হল sys অ্যাডমিন ইমেল অ্যাড্রেস এবং ম্যানেজমেন্ট সার্ভারের IP অ্যাড্রেস:

export ADMIN_EMAIL=foo@bar.com
export EDGE_SERVER=192.168.56.101

apigee-adminapi.sh ইউটিলিটিতে ফাইল পাস করা

কিছু apigee-adminapi.sh ইউটিলিটি কমান্ড 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 বিকল্প ব্যবহার করে:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug

এবং জেনারেট করা curl কমান্ড সহ নিম্নলিখিত আউটপুট দেখায়:

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