מה זה Apigee Emulator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. כדי להוסיף גרסה של Apigee Emulator לתוסף Cloud Code, לוחצים על > ניהול > הגדרות ואז מחפשים את 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 ועל זמן הריצה, מרחיבים את הקונטיינר בקטע 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

כדי להסיר את כל הפריסות ואת משאבי הבדיקה המיוצאים, צריך לאפס את 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

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

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

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

שימוש ב-Docker CLI

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

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

Apigee Emulator Not running

אפשר גם לעיין במאמר בנושא התאמה אישית של קונטיינר 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, לוחצים על Edit in 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 יתמוך בחשבונות שירות. יוצרים מפתח לחשבון השירות, כמו שמתואר במאמר בנושא יצירת מפתח לחשבון שירות.

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

הגדרת Apigee Emulator

כדי להגדיר את ההגדרות של 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

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