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

Edge for Private Cloud גרסה 4.18.05

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

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

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

ההבדלים העיקריים בין שני סוגי ההמרות הם:

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

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

התקנה של apigee-adminapi.sh

כלי השירות apigee-adminapi.sh מותקן אוטומטית כשמתקינים את apigee-provision או כלי השירות apigee-validate.

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

/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

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

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

פרמטרים להגדרה באמצעות מתגי שורת הפקודה ומשתני סביבה

עליכם להזין את כל הפרמטרים לפקודה באמצעות מתגי שורת הפקודה, או באמצעות במשתני סביבה. הוספת מקף אחד (-) או מקף כפול לתחילת השורה (--) לפי הצורך.

לדוגמה, מהעזרה שמוצגת למעלה לגבי 'הוספת ארגונים' אפשר לציין שם הארגון באחד מהשניים:

  • באמצעות מתג שורת הפקודה -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 הכתובת וכתובת ה-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 כדי יוצרים מארח וירטואלי, או כל פקודה שמקבלת גוף בקשה, אפשר להעביר המידע הנדרש בשורת הפקודה, כפי שמוצג בהמשך:

/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 של הקריאה. במשפט הזה הוא גוף בקשה בפורמט 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:

/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