apigee-adminapi.sh के यूटिलिटी टूल का इस्तेमाल करना

Edge for Private Cloud v4.18.05

ये EDGE कॉन्फ़िगरेशन टास्क पूरे करने के लिए, apigee-adminapi.sh यूटिलिटी का इस्तेमाल करें. वहीं, Edge मैनेजमेंट एपीआई का इस्तेमाल करके कॉल किए जाते हैं. apigee-adminapi.sh यूटिलिटी का फ़ायदा यह है कि:

  • आसान कमांड लाइन इंटरफ़ेस का इस्तेमाल करना
  • टैब-आधारित आदेश पूर्ण लागू करता है
  • सहायता और इस्तेमाल से जुड़ी जानकारी देता है
  • एपीआई को आज़माने का फ़ैसला लेने पर, इससे जुड़ा एपीआई कॉल दिखाया जा सकता है

apigee-adminapi.sh यूटिलिटी, apigee-provision यूटिलिटी की जगह नहीं है. apigee-provision यूटिलिटी, अपने टास्क को पूरा करने के लिए, असल में apigee-adminapi.sh यूटिलिटी का इस्तेमाल करती है.

दोनों के बीच ये मुख्य अंतर हैं:

  • apigee-adminapi.sh यूटिलिटी ऐटॉमिक फ़ंक्शन करती है, जो अलग-अलग Edge 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 यूटिलिटी, एक आसान कमांड लाइन सिंटैक्स का इस्तेमाल करती है. किसी भी समय, Tab का इस्तेमाल करके एक प्रॉम्प्ट दिखाया जा सकता है. इस बटन में, उपलब्ध कमांड के विकल्पों की सूची होती है.

सभी संभावित निर्देश देखने के लिए, बिना किसी विकल्प के यूटिलिटी शुरू करें:

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

apigee-adminapi.sh टाइप करने के बाद, Tab दबाकर रखने पर, आपको संभावित विकल्पों की सूची दिखेगी:

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

Tab बटन, निर्देश के संदर्भ के आधार पर विकल्प दिखाती है. अगर टाइप करने के बाद 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

कमांड-लाइन स्विच और एनवायरमेंट वैरिएबल का इस्तेमाल करके पैरामीटर सेट करना

आपको किसी निर्देश में सभी पैरामीटर डालने होंगे. इसके लिए, कमांड-लाइन स्विच का इस्तेमाल करें या एनवायरमेंट वैरिएबल का इस्तेमाल करें. कमांड लाइन स्विच के आगे, ज़रूरत के हिसाब से एक डैश (-) या दो डैश (--) लगाएं.

उदाहरण के लिए, ऊपर "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

अगर निर्देश में किसी भी ज़रूरी पैरामीटर को छोड़ दिया जाता है, तो यूटिलिटी टूल एक गड़बड़ी का मैसेज दिखाता है. इसमें उन पैरामीटर के बारे में जानकारी होती है जो मौजूद नहीं हैं. उदाहरण के लिए, अगर संगठन बनाते समय, एज मैनेजमेंट सर्वर के बारे में बताने वाले --host या EDGE_SERVER एनवायरमेंट वैरिएबल को छोड़ दिया जाता है, तो आपको गड़बड़ी का यह मैसेज दिखेगा:

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

आम तौर पर, इन दो सामान्य पैरामीटर को एनवायरमेंट वैरिएबल के तौर पर सेट किया जाता है. ये पैरामीटर, मैनेजमेंट सर्वर के sys एडमिन का ईमेल पता और आईपी पता हैं:

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

apigee-adminapi.sh यूटिलिटी को फ़ाइल भेजना

कुछ apigee-adminapi.sh यूटिलिटी निर्देश PUT और POST API कॉल के मुताबिक होते हैं, जो अनुरोध का मुख्य हिस्सा होते हैं. उदाहरण के लिए, वर्चुअल होस्ट बनाने का मतलब है एक POST एपीआई कॉल. इस कॉल के लिए, अनुरोध के मुख्य हिस्से में वर्चुअल होस्ट के बारे में जानकारी की ज़रूरत होती है.

वर्चुअल होस्ट बनाने के लिए 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 का मुख्य हिस्सा शामिल होता है. इस उदाहरण में, यह एक्सएमएल के फ़ॉर्मैट में अनुरोध का मुख्य हिस्सा है:

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

डीबग और एपीआई की जानकारी दिखाना

निर्देश के बारे में पूरी जानकारी दिखाने के लिए, apigee-adminapi.sh यूटिलिटी में --debug विकल्प का इस्तेमाल करें. इस जानकारी में कार्रवाई करने के लिए, 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