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

apigee-adminapi.sh, Edge मैनेजमेंट एपीआई को कॉल करता है, ताकि रखरखाव से जुड़े कई काम किए जा सकें.

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 एपीआई कॉल से जुड़े होते हैं. ये कॉल, अनुरोध के मुख्य हिस्से को लेते हैं. उदाहरण के लिए, वर्चुअल होस्ट बनाने के लिए 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 यूटिलिटी से जनरेट किया गया curl कमांड शामिल होता है.

उदाहरण के लिए, यहां दिए गए निर्देश में --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