יצירת שרת proxy פשוט ל-API

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

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

‫Apigee מאפשר לכם לחשוף במהירות שירותים לקצה העורפי בתור ממשקי API. כדי לעשות זאת, יוצרים proxy ל-API שמספק חזית לשירות לקצה העורפי שרוצים לחשוף. צריך לספק רק את כתובת הרשת של שירות לקצה העורפי, יחד עם מידע ש-Apigee משתמש בו כדי ליצור את ה-proxy ל-API שמוצג למפתחים.

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

במאמר הזה מוסבר על סוגים שונים של שרתי proxy ועל ההגדרות שלהם. הוראות מפורטות ליצירת שרתי proxy מופיעות בנושאים הבאים:

יצירת proxy ל-API באמצעות ממשק המשתמש

הדרך הכי קלה ליצור proxy ל-API היא באמצעות האשף Create Proxy.

  1. במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.

    מעבר לשרתי proxy ל-API

  2. לוחצים על ‎+ Create.

מוצג האשף Create Proxy, שמוביל אתכם בשלבים ליצירה ולהוספה של תכונות מינימליות ל-proxy ל-API.

האשף מאפשר לכם ליצור proxy ל-API מהמקורות הבאים:

קטגוריה סוג תיאור
תבנית כללית שרת proxy הפוך (הכי נפוץ)

proxy ל-API שמנתב בקשות נכנסות לשירותי בק-אנד קיימים של HTTP. יכול להיות API בפורמט JSON או XML. בהמשך הקטע הזה מוסבר איך ליצור proxy הפוך לשירות HTTP.

ללא יעד

proxy ל-API ללא קצה עורפי של API ('ללא יעד'). בדומה ליצירת שרת proxy הפוך לשירות HTTP שמתואר למעלה, רק שלא מציינים API קיים כשמגדירים את פרטי ה-proxy ל-API.

העלאת חבילת proxy חבילת proxy ל-API קיימת (לדוגמה, אחת מהדוגמאות ל-proxy ל-API שזמינות ב-GitHub). מידע נוסף זמין במאמר בנושא ייבוא של proxy ל-API מחבילת proxy ל-API.
שרת Proxy עם אירועים שנשלחים מהשרת (SSE) proxy ל-API שכולל EventFlow לסטרימינג של אירועים שנשלחים מהשרת (SSE). מידע נוסף זמין במאמר בנושא סטרימינג של אירועים שנשלחים מהשרת.
תבנית מבוססת-AI מכסת טוקנים להנחיה בדומה למדיניות למניעת עליות פתאומיות בשימוש, המדיניות הזו עוזרת לכם לשלוט בקצב השימוש באסימונים מהנחיות למשתמשים כדי למנוע ניצול לרעה. מידע נוסף זמין במאמר תחילת העבודה עם מדיניות אסימוני ה-AI של Apigee.
מכסת טוקנים של LLM ניהול והגבלת צריכת טוקנים עבור קריאות ל-LLM API. מידע נוסף זמין במאמר תחילת העבודה עם מדיניות אסימוני ה-AI של Apigee.
שרת proxy עם הגנה מוגברת על המודל אכיפה של אינטראקציות בטוחות עם AI על ידי ניקוי של הנחיות למשתמשים ותשובות של מודלים. מידע נוסף זמין במאמר תחילת העבודה עם מדיניות Apigee הגנה מוגברת על המודל.
שרת proxy עם מטמון סמנטי שמירת תשובות במטמון לבקשות דומות, כדי לשפר את זמן התגובה ואת הקריאות ל-LLM. מידע נוסף זמין במאמר איך מתחילים להשתמש במדיניות שמירה במטמון סמנטי.
תבנית של מפרט OpenAPI שרת proxy הפוך (הכי נפוץ) יוצרים את ה-proxy ממפרט OpenAPI תקין. מידע נוסף על האפשרות הזו מופיע בהמשך הקטע במאמר בנושא שימוש במפרטי OpenAPI ליצירת שרתי proxy.
ללא יעד

proxy ל-API ללא קצה עורפי של API ('ללא יעד'). בדומה ליצירת שרת proxy הפוך לשירות HTTP שמתואר למעלה, רק שבמקרה הזה לא מציינים API קיים כשמגדירים את פרטי ה-proxy ל-API.

בקטעים הבאים מפורטים סוגי ה-proxy השונים.

יצירת שרת proxy הפוך לשירות HTTP

‫Apigee יוצר פרוקסי הפוך על סמך המידע הבא:

  • כתובת ה-URL של השירות לקצה העורפי.
  • נתיב URI שמזהה באופן ייחודי את ה-API שיוצג על ידי proxy ל-API לאפליקציות צרכניות.

כתובת ה-URL של השירות לקצה העורפי מייצגת בדרך כלל אפליקציה עם שירותים ששייכת לארגון שלכם. הוא יכול להפנות גם ל-API שזמין לציבור. ממשק ה-API או השירות יכולים להיות בשליטתכם (לדוגמה, אפליקציית משאבי אנוש פנימית או אפליקציית Rails בענן) או שהם יכולים להיות ממשק API או שירות של צד שלישי (לדוגמה, Twitter או Instagram).

אחרי שמגיעים אל האשף ליצירת שרת proxy ובוחרים סוג שרת proxy, אפשר לראות את פרטי ה-proxy הבאים:

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

קטע URI שמופיע אחרי הכתובת http://[host] או https://[host] של proxy ל-API. ‫Apigee משתמש ב-URI של נתיב הבסיס כדי להתאים ולנתב הודעות של בקשות נכנסות ל-proxy ל-API המתאים.

אחרי נתיב הבסיס מופיעות כתובות URL נוספות של משאבים. מבנה כתובת ה-URL המלאה שבה הלקוחות משתמשים כדי לקרוא ל-proxy ל-API הוא כדלקמן:

https://[host]/BASE_PATH/CONDITIONAL_FLOW_PATH

שימוש בתווים כלליים בנתיבי בסיס

כדי להבטיח ששרתי ה-proxy ל-API ימשיכו לפעול גם בעתיד, כדאי להשתמש בתו כללי אחד או יותר בנתיבי הבסיס של שרתי ה-proxy ל-API./*/ לדוגמה, נתיב בסיסי של /team/*/members מאפשר ללקוחות לבצע קריאה ל-https://[host]/team/blue/members ול-https://[host]/team/green/members בלי שתצטרכו ליצור שרתי proxy חדשים של API כדי לתמוך בצוותים חדשים. שימו לב: אין תמיכה ב-/**/.

תיאור (אופציונלי) תיאור של ה-API.
יעד (API קיים) כתובת ה-URL של שירות לקצה העורפי שה-proxy ל-API הזה מפעיל.

ייבוא של Proxy ל-API מחבילת Proxy ל-API

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

כדי לייבא שרתי proxy ל-API מחבילת שרתי proxy ל-API, מבצעים את השלבים הבאים:

  1. ניגשים לאשף Create Proxy (יצירת שרת proxy) כמו שמתואר במאמר יצירת שרת proxy ל-API באמצעות ממשק המשתמש.
  2. מציינים את פרטי חבילת שרת ה-proxy ל-API.
    1. בתפריט Proxy template (תבנית שרת Proxy), בוחרים באפשרות Upload proxy bundle (העלאת חבילת שרת Proxy).
    2. בקטע פרטי ה-Proxy, מזינים את שם ה-Proxy, מעלים את קובץ ה-ZIP ולוחצים על הבא.
    3. בקטע פריסה, בוחרים את סביבות הפריסה הרצויות ולוחצים על יצירה.

יצירת שרתי proxy של gRPC API

בנוסף לשרתי Proxy של API בארכיטקטורת REST, ‏ Apigee תומך בשרתי Proxy של gRPC API עם תמיכה בהעברה בלבד בשלב הזה. עם תמיכה בהעברה, מטען ה-payload של gRPC הוא אטום ל-Apigee, והתנועה מנותבת מלקוח gRPC לשרת היעד של gRPC שהוגדר מראש בהגדרת היעד.

בשלב הזה, proxy ל-API של gRPC ב-Apigee:

  • תמיכה בבקשות gRPC unary.
  • אי אפשר להשתמש במדיניות שמשפיעה על מטען הייעודי (payload).
  • אפשר להשתמש בו במוצרי API שלא משויכים ל-GraphQL או לשרתי proxy של REST. מכסות ספציפיות למוצר של API והגדרות פעולה אחרות חלות על כל ה-proxies במוצר.
  • לא נתמכות ב-Apigee hybrid.
  • משתמשים בשני משתני זרימה ספציפיים ל-gRPC: ‫request.grpc.rpc.name ו-request.grpc.service.name.
  • אפשר לעקוב אחרי המשתנים האלה באמצעות משתני Apigee Analytics הספציפיים ל-gRPC: ‫x_apigee_grpc_rpc_name, x_apigee_grpc_service_name ו-x_apigee_grpc_status.
  • החזרת קודי סטטוס של gRPC.

צריך גם להגדיר את מאזן העומסים כך שיכלול תמיכה ב-gRPC. מידע נוסף זמין במאמרים בנושא שימוש ב-gRPC באפליקציות ושימוש בפקודות של ה-CLI של gcloud ליצירת ניתוב ל-gRPC.

כדי ליצור proxy ל-API של gRPC, קודם צריך להגדיר שרת יעד של gRPC (ראו יצירת TargetServers), ואז לציין את שרת היעד הזה כשיוצרים את ה-proxy החדש.

שימוש בפקודות של ה-CLI של gcloud כדי ליצור ניתוב ל-gRPC

בקטע הזה מוצגות פקודות לדוגמה ליצירת ניתוב לשרתי proxy של gRPC באמצעות ה-CLI של gcloud. ההוראות כוללות הגדרה של מאזני עומסים, שרת יעד ו-MIG.

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

הגדרה של משתני סביבה

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

PROJECT_ID=YOUR_PROJECT_ID
MIG_NAME=YOUR_MIG_NAME
VPC_NAME=default
VPC_SUBNET=default
REGION=REGION_NAME
APIGEE_ENDPOINT=ENDPOINT
CERTIFICATE_NAME=CERTIFICATE_NAME
DOMAIN_HOSTNAME=DOMAIN_HOSTNAME

הוספת אבטחה

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

כדי להוסיף מדיניות אבטחה לשרת ה-proxy:

  1. יוצרים שרת proxy כמו שמתואר במאמר יצירת שרת proxy ל-API.
  2. מוסיפים מדיניות אבטחה כמו שמתואר באחד מהקטעים שמפורטים במאמר הגנה על שרת proxy. מדיניות האבטחה הנפוצה ביותר היא מפתחות API ו-OAuth2.

הוספת תמיכה ב-CORS

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

כדי להוסיף תמיכה ב-CORS, צריך להוסיף את מדיניות ה-CORS ל-request PreFlow של ProxyEndpoint.

למידע מפורט יותר על תמיכה ב-CORS, כולל הוספת תמיכה בבקשות קדם-הפעלה של CORS לשרת proxy, אפשר לעיין במאמר הוספת תמיכה ב-CORS ל-proxy ל-API.

הוספת מכסות

בקטע Quota מפורטות המכסות שמגנות על שירות לקצה העורפי מפני תנועה גבוהה. מידע על מכסות (האפשרות הזו לא זמינה אם בוחרים באפשרות 'הרשאת גישה').

שימוש במפרטי OpenAPI כדי ליצור שרתי proxy

בקטע הזה נסביר על האפשרות Use OpenAPI (שימוש ב-OpenAPI) שזמינה ליצירה ממפרט OpenAPI של סוגי פרוקסי API הבאים: הפוך או ללא יעד.

מה זה מפרט OpenAPI?

הלוגו של Open API Initiative   "ה-Open API Initiative‏ (OAI) מתמקד ביצירה, בפיתוח ובקידום של פורמט ניטרלי לספק לתיאור API, שמבוסס על מפרט Swagger". מידע נוסף זמין במאמר בנושא OpenAPI Initiative.

מפרט OpenAPI משתמש בפורמט סטנדרטי כדי לתאר API ל-REST. מפרט OpenAPI, שנכתב בפורמט JSON או YAML, קריא למחשבים וגם קל לקריאה ולהבנה על ידי בני אדם. במפרט מתוארים רכיבי API כמו נתיב הבסיס, הנתיבים והפעלים, הכותרות, פרמטרים של שאילתות, פעולות, סוגי תוכן, תיאורי תגובות ועוד. בנוסף, נהוג להשתמש במפרט OpenAPI כדי ליצור תיעוד של API.

קטע הקוד הבא ממפרט OpenAPI מתאר את שירות היעד המדומה של Apigee,‏ http://mocktarget.apigee.net. מידע נוסף זמין במאמר מפרט OpenAPI לדוגמה helloworld.

openapi: 3.0.0
info:
  description: OpenAPI Specification for the Apigee mock target service endpoint.
  version: 1.0.0
  title: Mock Target API
paths:
  /:
    get:
      summary: View personalized greeting
      operationId: View a personalized greeting
      description: View a personalized greeting for the specified or guest user.
      parameters:
        - name: user
          in: query
          description: Your user name.
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
  /help:
    get:
      summary: Get help
      operationId: Get help
      description: View help information about available resources in HTML format.
      responses:
        "200":
          description: Success
...

באמצעות האשף Create Proxy (יצירת שרת proxy), אפשר לייבא מפרט OpenAPI ולהשתמש בו כדי ליצור proxy ל-API. אחרי שהפרוקסי נוצר, אפשר להשתמש בממשק המשתמש של Apigee כדי לפתח אותו עוד יותר על ידי הוספת מדיניות, הטמעה של קוד בהתאמה אישית וכו' – בדיוק כמו כל פרוקסי של Apigee.

יצירת proxy ל-API ממפרט OpenAPI

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

באשף Create Proxy (יצירת שרת proxy), לוחצים על Use OpenAPI Spec (שימוש במפרט OpenAPI) ופועלים לפי ההוראות באשף כדי ליצור שרת proxy הפוך או שרת proxy ללא יעד ממפרט OpenAPI. פרטים נוספים מופיעים במאמר יצירת proxy ל-API ממפרט OpenAPI.

יצירת גרסה חדשה של proxy ל-API

כדי ליצור גרסה חדשה של שרת proxy ל-API, מבצעים את השלבים הבאים:

  1. פותחים את ממשק המשתמש של Apigee.
  2. במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.

    מעבר לשרתי proxy ל-API

  3. לוחצים על ה-API Proxy ברשימה שרוצים להעתיק.
  4. לוחצים על הכרטיסייה פיתוח.

  5. לוחצים על הלחצן שמירה ואז על שמירה כגרסה חדשה.

גיבוי של proxy ל-API

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

יצירת proxy ל-API באמצעות ה-API

כדי ליצור שרת proxy ל-API באמצעות ה-API, אפשר לעיין במאמר בנושא יצירת שרת proxy ל-API.

מידע על שרתי proxy ללא יעד

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

תרחישים נפוצים לדוגמה

  • אינטראקציה עם נתונים שמנוהלים על ידי Apigee: פרוקסי ללא יעד שימושי במקרים שבהם צריך רק ליצור אינטראקציה עם נתונים שמנוהלים על ידי Apigee, כמו נתונים שמאוחסנים במפת מפתח-ערך (KVM) או במטמון של Apigee. לדוגמה, אפשר להשתמש בשרת proxy ללא יעד כדי לאחזר נתונים, כמו נתוני סשן של משתמשים או נתוני הגדרה, מ-KVM. במקרה כזה, אין צורך להתקשר לשירות לקצה העורפי. כל מה שצריך הוא מדיניות KeyValueMapOperations בזרימת ה-proxy. דוגמה נוספת: יכול להיות שתרצו שהמתקשר יבקש לנקות את המטמון. כדי לעשות את זה, צריך להפעיל את המדיניות InvalidateCache, בלי להתחבר ליעד כלשהו.
  • שימוש ב-API מדומה: אתם יכולים ליצור API מדומה כדי לדמות את התנהגות ה-API לפני שהטמעת ה-בק-אנד הושלמה, וכך לאפשר את המשך ה-פיתוח של ה-קצה קדמי באופן עצמאי. מידע נוסף על יצירת ממשקי API מדומים זמין במאמר OpenAPI Mock API Proxy.
  • ניהול טוקנים: Apigee יכול להנפיק טוקנים של OAuthV2, ובדרך כלל זה נעשה באמצעות שרת proxy ללא יעד.
  • בדיקת התנהגות המדיניות: שרת proxy ללא טירגוט יכול להיות שימושי כשרוצים לנסות מדיניות של Apigee כדי לבדוק את ההתנהגות שלה.