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

Edge for Private Cloud v. 4.16.05

Edge ম্যানেজমেন্ট API-তে কল করার মাধ্যমে আপনি যে Edge কনফিগারেশন টাস্কগুলি সম্পাদন করেন, সেগুলি সম্পাদন করতে apigee-adminapi.sh ইউটিলিটি ব্যবহার করুন। 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

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

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

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

> apigee-adminapi.sh 

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

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

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

> apigee-adminapi.sh orgs

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

add  apis  apps  delete  envs  list  pods  userroles

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

> 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 কমান্ড লাইন সুইচ ব্যবহার করে:
    > apigee-adminapi.sh orgs -o testOrg
  • ORG নামের এনভায়রনমেন্ট ভেরিয়েবল সেট করা:
    > export ORG=testOrg
    > apigee-adminapi.sh orgs

কমান্ডে কোনও প্রয়োজনীয় প্যারামিটার বাদ দিলে, ইউটিলিটি একটি সমস্যার মেসেজ দেখায় যেখানে বাদ দেওয়া প্যারামিটার সম্পর্কে বর্ণনা করা থাকে। যেমন, কোনও সংস্থা তৈরি করার সময় আপনি যদি এজ ম্যানেজমেন্ট সার্ভার নির্দিষ্ট করে --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 ইউটিলিটি ব্যবহার করার সময়, অথবা রিকোয়েস্ট বডি নেয় এমন কোনও কমান্ডের ক্ষেত্রে, আপনি নিচে দেখানো কমান্ড লাইনে প্রয়োজনীয় সব তথ্য পাস করতে পারবেন:

> 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-এর অনুরোধের মূল অংশে থাকা তথ্যের মতো একই তথ্য রয়েছে। যেমন, নিম্নলিখিত কমান্ডটি ভার্চুয়াল হোস্টকে সংজ্ঞায়িত করে এমন একটি ফাইল নেয়:

> 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 বিকল্প ব্যবহার করে:

> 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