Edge for Private Cloud v4.18.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
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh syntax
הכלי 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
הגדרת פרמטרים באמצעות מתגים בשורת הפקודה ומשתני סביבה
צריך להזין את כל הפרמטרים לפקודה באמצעות מתגים של שורת הפקודה או באמצעות משתני סביבה. מוסיפים לפני מתגי שורת הפקודה מקף בודד (-) או מקף כפול (--) לפי הצורך.
לדוגמה, לפי קטע העזרה שלמעלה לפקודה "orgs add", אפשר לציין את שם הארגון באחת מהדרכים הבאות:
- שימוש במתג שורת הפקודה
-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 שמציין את שרת הניהול של 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 כדי ליצור מארח וירטואלי, או בכל פקודה שמקבלת גוף בקשה, אפשר להעביר את כל המידע הדרוש בשורת הפקודה, כמו שמוצג בהמשך:
/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