מה זה Apigee Emulator

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

אמולטור Apigee מאפשר לכם לדמות התקנה של Apigee בסביבת הפיתוח המקומית שלכם, למטרות בדיקה. הכלי Apigee Emulator לא מחליף התקנה של Apigee לצורך בדיקה, והפונקציונליות שלו לא זהה, אבל הוא מפשט את הבדיקה מתוך סביבת הפיתוח המקומית.

‫Apigee Emulator זמין כקובץ אימג' מותאם אישית של Docker שמועבר באופן ציבורי למפתחים כדי לפרוס ולבדוק שרתי proxy ל-API בסביבת פיתוח מקומית. תמונות Docker מתפרסמות באופן קבוע ב-gcr.

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

בקטע הזה אפשר:

הקטע 'פרטים על אמולטורים'

  • לראות את הגרסאות השונות של האמולטורים שמותקנים, ואת הקונטיינרים שנוצרו לכל גרסת אמולטור, כולל פרטי Docker וזמן הריצה, וגם יציאות בקרה ותנועה.

  • הוספה, מחיקה, הפעלה, עצירה, איפוס, עדכון ורענון של התצוגה של מאגרי Apigee Emulator, כמו שמתואר במאמר ניהול Apigee Emulator.

  • צפייה באפליקציות שפרסתם (ראו פריסת סביבות).

  • צפייה במשאבי בדיקה פעילים (ראו ייצוא משאבי בדיקה ל-Apigee Emulator).

ניהול האמולטור של Apigee

בקטעים הבאים מוסבר איך לנהל את Apigee Emulator.

בחירת גרסת האמולטור

כברירת מחדל, בתיקייה emulator מוצגת גרסה יציבה. עם זאת, אתם יכולים לבחור גרסה אחרת בהתאם לדרישות שלכם.

  1. מעיינים ברשימת הגרסאות של Apigee Emulator ב-Google Artifact Registry ורושמים את הערך של Tag. מידע נוסף מופיע במאמרי העזרה בנושא Artifact Registry.

  2. כדי להוסיף גרסה של Apigee Emulator לתוסף Cloud Code, לוחצים על Manage (ניהול) > Settings (הגדרות) ואז מחפשים את apigee emulators.

  3. לוחצים על הוספת פריט. הגדרות האמולטור

  4. מזינים את הערך של Tag (תג) שהתקבל בשלב 1. לדוגמה: 1.10.0 או gcr.io/apigee-release/hybrid/apigee-emulator:1.10.0

  5. לוחצים על OK.

  6. האמולטור שנוסף מופיע בתיקייה emulator.

התקנת Apigee Emulator

כדי להתקין את Apigee Emulator:

  1. מרחיבים את התיקייה emulators בסביבת העבודה.

  2. מציבים את הסמן מעל גרסת Apigee Emulator שרוצים להתקין.

  3. לחץ על סמל של מאגר Apigee Emulator.

    התקנת מאגר Apigee Emulator

  4. מוסיפים מאגר לפי ההוראות במאמר הוספת מאגר לאמולטור Apigee.

התמונה העדכנית ביותר של גרסת Apigee Emulator שנבחרה מותקנת. אחרי שההתקנה מסתיימת, מוצגת ההודעה Emulator installed successfully והסטטוס של מאגר Apigee Emulator משתנה ל-Ready.

התקנה של Apigee Emulator

הוספת קונטיינר לאמולטור Apigee

כדי להוסיף מאגר ל-Apigee Emulator באמצעות ממשק המשתמש:

  1. מרחיבים את התיקייה emulators.

    הרחבת Apigee Emulators

  2. מציבים את הסמן מעל Apigee Emulator שרוצים להוסיף לו קונטיינר.

  3. לוחצים על +.

  4. מזינים שם ייחודי למאגר של Apigee Emulator ולוחצים על Enter. צריך להזין תווים אלפאנומריים, מקפים (-) או קווים תחתונים (_).

  5. מזינים את הערך המספרי שרוצים להשתמש בו כנמל הבקרה של מאגר Apigee Emulator ומקישים על Enter. יציאת הבקרה צריכה להיות ייחודית בין הקונטיינרים. ברירת המחדל היא 8080.

  6. מזינים את הערך המספרי שרוצים להשתמש בו בתור יציאת התנועה של מאגר Apigee Emulator ולוחצים על Enter. יציאת התנועה צריכה להיות ייחודית בין הקונטיינרים. ברירת המחדל היא 8998.

הקונטיינר נוסף.

הצגת פרטי הסטטוס של Apigee Emulator

אפשר לראות את פרטי הסטטוס של Apigee Emulator כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי לראות את פרטי הסטטוס של Apigee Emulator, כולל פרטי Docker ו-Runtime, מרחיבים את הקונטיינר בקטע emulators. המידע שמוצג תואם לגרסת Apigee Emulator שבשימוש.

פרטי הסטטוס של Apigee Emulator

שימוש ב-Docker CLI

כדי להציג את פרטי הסטטוס של מאגר Apigee Emulator והיציאות שהוגדרו בו, מריצים את הפקודה docker ps בכרטיסייה Terminal. בהמשך מופיעה דוגמה לתשובה. התשובה בפועל שמוצגת לכם תלויה בגרסה של Apigee Emulator שבה אתם משתמשים:

CONTAINER ID   IMAGE                                COMMAND       CREATED        STATUS        PORTS                                      NAMES
33756b8c5c5b   ...apigee-emulator:1.11.0   "/usr/bin…"   10 hours ago   Up 10 hours   7000-7001/tcp, 0.0.0.0:8080->8080/tcp...   apigee-emulator

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

הפעלת Apigee Emulator

מפעילים את Apigee Emulator כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי להפעיל את Apigee Emulator, מעבירים את הסמן מעל הקונטיינר שרוצים להפעיל ולוחצים על הפעלת קונטיינר של Apigee Emulator.

שימוש ב-Docker CLI

כדי להפעיל את Apigee Emulator, מריצים את הפקודה docker start CONTAINER_NAME

בכרטיסייה Terminal (מסוף).

הסטטוס מוגדר כReady:

פרטי הסטטוס של Apigee Emulator

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

איפוס של Apigee Emulator

כדי להסיר את כל הפריסות ואת משאבי הבדיקה המיוצאים, צריך לאפס את Apigee Emulator כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי לאפס את Apigee Emulator, מציבים את הסמן מעל מאגר Apigee Emulator בקטע emulators ולוחצים על סמל לאיפוס של Apigee Emulator.

האמולטור של Apigee מאופס והסטטוס שלו משתנה לReady:

פרטי הסטטוס של Apigee Emulator

הפרטים הבאים מוצגים בכרטיסייה פלט:

Resetting the Apigee Emulator
Reset completed

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

הפעלה מחדש של Apigee Emulator

כדי להפעיל מחדש את Apigee Emulator, מריצים את הפקודה docker restart CONTAINER_NAME בכרטיסייה Terminal. לדוגמה: docker restart MyContainer

עדכון של Apigee Emulator

אם האמולטור של Apigee לא מסונכרן עם הגרסה האחרונה, אפשר לעדכן את הגרסה המותקנת באמצעות ממשק המשתמש או Docker CLI, כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי לעדכן את Apigee Emulator, מעבירים את הסמן מעל Apigee Emulator בקטע emulators ולוחצים על עדכון הסמל של Apigee Emulator.

שימוש ב-Docker CLI

כדי לעדכן את Apigee Emulator, מריצים את פקודות Docker הבאות בכרטיסייה Terminal, באמצעות הגרסה המתאימה העדכנית ביותר:

  • מריצים את הפקודה docker ps כדי לקבל את שם האימג'. לדוגמה: gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

  • מריצים את docker pull IMAGE_NAME כדי לעדכן את תמונת ההתקנה של Apigee Emulator. לדוגמה: docker pull gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

האמולטור של Apigee מתעדכן ומוצגת ההודעה הבאה: Emulator version is up to date

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

עצירה של Apigee Emulator

כדי להפסיק את השימוש באמולטור Apigee, צריך להשתמש בממשק המשתמש או ב-CLI של Docker, כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי לעצור את Apigee Emulator, מעבירים את הסמן מעל מאגר Apigee Emulator בקטע emulators ולוחצים על סמל עצירה של אמולטור Apigee.

שימוש ב-Docker CLI

כדי להפסיק את Apigee Emulator, מריצים את הפקודה docker stop CONTAINER_NAME בכרטיסייה Terminal.

האמולטור של Apigee נעצר והסטטוס שלו משתנה ל-Not running:

האמולטור של Apigee לא פועל

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

מחיקת קונטיינר של Apigee Emulator

כדי למחוק קונטיינר של Apigee Emulator, צריך להשתמש בממשק המשתמש או ב-Docker CL, כמו שמתואר בקטעים הבאים.

שימוש בממשק המשתמש

כדי למחוק את Apigee Emulator, מעבירים את הסמן מעל מאגר Apigee Emulator בקטע emulators ולוחצים על סמל של אשפה למחיקת קונטיינר.

שימוש ב-Docker CLI

כדי למחוק קונטיינר של Apigee Emulator, מריצים את פקודות Docker הבאות בכרטיסייה Terminal:

  • מריצים את הפקודה docker stop CONTAINER_NAME כדי לעצור את תמונת ההתקנה של Apigee Emulator (אם היא לא נעצרה כבר). לדוגמה: docker stop MyContainer

  • מריצים את הפקודה docker rm CONTAINER_NAME כדי לעצור את תמונת ההתקנה של Apigee Emulator. לדוגמה: docker rm MyContainer

מאגר התגים נמחק.

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee

אפשר להתאים אישית את שורת הפקודה של Docker שמשמשת לשליטה במופעים של Apigee Emulator באמצעות האפשרויות הבאות.

אפשרות תיאור
additionalArguments מוסיפים ארגומנט אחד או יותר. הארגומנטים מתווספים לפקודה docker run בדיוק כמו שהם מופיעים. ברירת המחדל היא "" (ללא).
detached המדיניות קובעת אם האפשרות --detached תשמש בזמן הפעלת הקונטיינר. ברירת המחדל היא true.
dns שליטה בדגל של שירות ה-DNS‏ -dns, כפי שמתואר במאמר בנושא שירותי DNS. ברירת המחדל היא 8.8.8.8.
environmentVariables מוסיפים משתני סביבה לפקודה docker run, כמו שמתואר באפשרויות. אם מספקים ערכים, הם מתווספים לפקודה docker run באמצעות -e name=value. רשימת ברירת המחדל כוללת את "XTERM": "xterm-256color".
labels מוסיפים תווית אחת או יותר לצירוף לקונטיינר. התוויות מתווספות לפקודה docker run באמצעות -l label:value. ברירת המחדל היא none.
privileged המדיניות קובעת אם האפשרות --privileged תשמש בזמן הפעלת הקונטיינר. ברירת המחדל היא true.
volumes מוסיפים נפח אחסון אחד או יותר להרכבה על הקונטיינר. הנפחים מתווספים לפקודה docker run באמצעות -v label:value. ברירת המחדל היא none.

כדי להתאים אישית את קונטיינר Docker של זמן הריצה של Apigee:

  1. התכונה הזו זמינה כחלק מגרסת Insiders (גרסה 1.21.0 ומעלה). מתקינים את גרסת ה-Insiders, כמו שמתואר במאמר התקנת גרסאות Insiders.

  2. לוחצים על ניהול > הגדרות ומחפשים את apigee docker.

  3. בקטע Cloudcode > Apigee: Docker Options (Cloudcode > Apigee: אפשרויות Docker), לוחצים על Edit in settings.json (עריכה בקובץ settings.json). האפשרויות להתאמה אישית מוצגות בקובץ settings.json, כמו שמוצג כאן:

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. עורכים את האפשרויות ושומרים את הקובץ.

התאמה אישית של Apigee Emulator כדי לתמוך באימות שמבוסס על חשבון שירות

כשבודקים את ה-proxies שתלויים באימות שמבוסס על חשבון שירות Google Cloud , ל-Apigee Emulator צריכה להיות גישה למפתח של חשבון שירות ב-Google. פועלים לפי השלבים כדי להגדיר את Apigee Emulator כך שיתמוך באימות שמבוסס על חשבון שירות.

יצירה והורדה של מפתח לחשבון שירות

יוצרים Google Cloud חשבון שירות עם התפקיד Service Account Token Creator. התפקיד הזה נדרש כדי שאפשר יהיה להשתמש בחשבונות שירות ב-Apigee Emulator. יוצרים מפתח לחשבון השירות, כמו שמתואר במאמר בנושא יצירת מפתח לחשבון שירות.

מורידים את המפתח למערכת הקבצים המקומית, כדי שאפשר יהיה לספק אותו לאמולטור של Apigee.

הגדרת האמולטור של Apigee

כדי להגדיר את ההגדרות של Apigee Emulator:

  1. פותחים את האפשרויות של Docker, כמו שמתואר במאמר בנושא התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

  2. בקטע volumes של אפשרויות Docker, מוסיפים נפח אחסון חדש כדי שהנתיב של מפתח חשבון השירות שהורד יהיה זמין בקונטיינר. בהנחה שהמפתח הורד לנתיב /opt/apigee/keys/apigee-sa-key.json, ההגדרה הבאה טוענת את התוכן של /opt/apigee/keys לנתיב /emulator/keys בתוך הקונטיינר:

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. בקטע environmentVariables של אפשרויות Docker, מוסיפים את המשתנה GOOGLE_APPLICATION_CREDENTIALS שמפנה לקובץ בנתיב המצורף:

    "environmentVariables": {
      "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
    }

  4. שומרים את ההגדרות ויוצרים מופע חדש של מאגר שאפשר להשתמש בו לבדיקות.

בדוגמה הבאה אפשר לראות איך משייכים מפתח של חשבון שירות של Google ל-Apigee Emulator.

"cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color",
          "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {
         "/opt/apigee/keys":"/emulator/keys"
      },
      "additionalArguments":""
    }

הגדרת Apigee Emulator לתמיכה ב-HTTP forward proxy

במקרים רבים, אפשר להגיע ליעדי ה-Backend שמשויכים ל-Proxy רק באמצעות שרת proxy קדימה מסוג HTTP. אפשר להגדיר את האמולטור של Apigee כך שישתמש בשרת proxy קדימה בזמן ההתחברות ליעדים באמצעות משתנה סביבה בשם FORWARD_PROXY.

כדי להגדיר את ההגדרות של Apigee Emulator:

  1. פותחים את האפשרויות של Docker, כמו שמתואר במאמר התאמה אישית של קונטיינר Docker של זמן הריצה של Apigee.

  2. בקטע environmentVariables של אפשרויות Docker, מוסיפים את המשתנה FORWARD_PROXY שמצביע על כתובת ה-proxy הקדמי ככתובת HTTP URL

    "environmentVariables": {
      "FORWARD_PROXY":"http://proxy_host:proxy_port"
    }

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