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

Edge for Private Cloud v4.18.01

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

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

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

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

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

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

Tab बटन, निर्देश के कॉन्टेक्स्ट के आधार पर विकल्प दिखाता है. अगर टाइप करने के बाद, tab बटन दबाया जाता है, तो:

> apigee-adminapi.sh orgs

आपको orgs कमांड पूरा करने के संभावित विकल्प दिखेंगे:

add  apis  apps  delete  envs  list  pods  userroles

दिखाने के लिए -h विकल्प का इस्तेमाल करें मदद मिलती है. उदाहरण के लिए, अगर -h विकल्प का इस्तेमाल किया जाता है, जैसा कि यहां दिखाया गया है:

> apigee-adminapi.sh orgs -h

उपयोगिता, संगठन आदेश के लिए सभी संभावित विकल्पों के लिए पूरी सहायता जानकारी दिखाती है. आउटपुट में पहला आइटम "संगठन जोड़ें" के लिए सहायता दिखाता है आदेश:

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

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

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

उदाहरण के लिए, "संगठनों के जोड़ना" के लिए, ऊपर दिए गए सहायता लेख से आदेश देते हैं, तो आप संगठन का नाम इनमें से कोई एक:

  • -o कमांड लाइन का इस्तेमाल करके, स्विच करें:
    > apigee-adminapi.sh orgs -o testOrg
  • ORG नाम का एनवायरमेंट वैरिएबल सेट करना:
    > ORG=testOrg
    को निर्यात करें > apigee-adminapi.sh संगठन

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

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

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

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

किसी फ़ाइल को apigee-adminapi.sh पर पास करना उपयोगिता

कुछ apigee-adminapi.sh सुविधा निर्देश अनुरोध का मुख्य हिस्सा लेने वाले PUT और 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 फ़ाइल इसमें कॉल का पीओएसटी मुख्य हिस्सा होता है. इस उदाहरण में, यह एक्सएमएल फ़ॉर्मैट में अनुरोध का मुख्य हिस्सा है:

<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 विकल्प का इस्तेमाल करता है:

> 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