שימוש בכלי השירות apigee-adminapi.sh

Edge for Private Cloud v. 4.17.09

אפשר להשתמש בכלי השירות apigee-adminapi.sh כדי לבצע את אותן משימות הגדרה של Edge באמצעות קריאה ל-API לניהול של Edge. היתרון של תוכנית השירות apigee-adminapi.sh הוא:

  • להשתמש בממשק פשוט של שורת פקודה
  • מטמיעה השלמה של פקודה מבוססת כרטיסיות
  • מספק עזרה ומידע על השימוש
  • אפשרות להציג את קריאת ה-API המתאימה אם החלטת לנסות את ה-API

כלי השירות apigee-adminapi.sh הוא לא תחליף לחברת התשתיות apigee-provision. כלי השירות apigee-provision משתמש בפועל בכלי השירות apigee-adminapi.sh כדי לבצע את המשימות שלו.

ההבדלים העיקריים בין השניים הם:

  • כלי השירות apigee-adminapi.sh מבצע פונקציות אטומיות שיחליפו את הקריאות של ממשק ה-API של Edge. לדוגמה, כדי ליצור ארגון, סביבה ומארח וירטואלי, נדרשות שלוש פקודות apigee-adminapi.sh נפרדות שמתאימות לשלוש קריאות ל-API.
  • כלי השירות apigee-provision מיועד לביצוע פעולה מלאה ברמה גבוהה בפקודה אחת. לדוגמה, כדי ליצור ארגון, סביבה ומארח וירטואלי באמצעות פקודת apige-provision אחת, צריך להעביר קובץ תצורה עם כל המידע הנדרש.

במסמכי התיעוד של Edge נעשה שימוש בשני הכלים, כאשר הדבר רלוונטי.

מתבצעת התקנה של apigee-adminapi.sh

כלי השירות apigee-adminapi.sh מותקן באופן אוטומטי בעת ההתקנה של השירות apigee-provision או של apigee-verify.

תוכנית השירות מותקנת במיקום הבא:

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

תחביר apigee-adminapi.sh

הכלי השירות apigee-adminapi.sh משתמש בתחביר פשוט של שורת הפקודה. בכל שלב, אפשר להשתמש במקש Tab כדי להציג הודעה עם רשימה של אפשרויות הפקודה הזמינות.

כדי להציג את כל הפקודות האפשריות, מפעילים את הכלי ללא אפשרויות:

> apigee-adminapi.sh 

אם מקישים על מקש Tab אחרי שמקישים על apigee-adminapi.sh, תוצג רשימה של אפשרויות אפשריות:

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. הפריט הראשון בפלט מציג את העזרה של הפקודה "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:
    > ייצוא ORG=testOrg
    > apigee-adminapi.sh orgs

אם משמיטים את כל הפרמטרים הנדרשים לפקודה, הכלי מציג הודעת שגיאה עם הפרמטרים החסרים. לדוגמה, אם תשמיטו את משתנה הסביבה --host או EDGE_SERVER שמציין את שרת ניהול Edge בעת יצירת ארגון, תופיע הודעת השגיאה הבאה:

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

שימוש באפשרות --debug בכלי השירות apigee-adminapi.sh כדי להציג מידע מפורט על הפקודה. המידע הזה כולל את פקודת ה-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