Edge for Private Cloud v. 4.17.05
אפשר להשתמש בכלי apigee-adminapi.sh כדי לבצע את אותן משימות של הגדרת Edge שמבצעים באמצעות קריאות ל-Edge Management API. היתרון של הכלי apigee-adminapi.sh הוא שהוא:
- שימוש בממשק שורת פקודה (CLI) פשוט
- הטמעת השלמת פקודה מבוססת-Tab
- מידע על עזרה ושימוש
- אפשר להציג את קריאת ה-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
תחביר של 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:
> export 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
שני פרמטרים נפוצים שמגדירים לעיתים קרובות כמשתני סביבה הם כתובת האימייל של האדמין המערכת וכתובת ה-IP של שרת הניהול:
> export ADMIN_EMAIL=foo@bar.com > export EDGE_SERVER=192.168.56.101
העברת קובץ לכלי apigee-adminapi.sh
חלק מפקודות השירות של apigee-adminapi.sh תואמות לקריאות API מסוג PUT ו-POST שכוללות גוף בקשה. לדוגמה, יצירת מארח וירטואלי תואמת לקריאה ל-API מסוג POST שמחייבת מידע על המארח הווירטואלי בגוף הבקשה.
כשמשתמשים בכלי 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