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

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

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

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

פרוקסי ה-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 או API בפורמט XML. בהמשך הקטע הזה מוסבר איך יוצרים שרת proxy הפוך לשירות HTTP.

ללא יעד

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

העלאת חבילת proxy חבילת שרתי proxy ל-API קיימת (לדוגמה, אחת מדוגמאות השרתים ל-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 ב-Cloud), או שמדובר בממשק API או בשירות של צד שלישי (לדוגמה, Twitter או אינסטגרם).

אחרי שנכנסים אל האשף ליצירת שרת 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, יחד עם קבצים תומכים אחרים. אם מגדירים את שרתי ה-proxy של ה-API כקבוצה של קבצים חיצוניים ל-Apigee, אפשר לתחזק אותם במערכת בקרת מקורות, ואז לייבא אותם ל-Apigee לצורך בדיקה ופריסה.

כדי לייבא שרתי proxy ל-API מחבילת שרתי proxy ל-API:

  1. ניגשים לאשף Create Proxy (יצירת שרת proxy) כמו שמתואר במאמר יצירת שרת proxy ל-API באמצעות ממשק המשתמש.
  2. מציינים את פרטי חבילת שרת ה-proxy ל-API.
    1. בתפריט תבנית של שרת Proxy, בוחרים באפשרות העלאת חבילת שרת 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 אונריות.
  • אי אפשר להשתמש במדיניות שמשפיעה על מטען הייעודי (payload).
  • אפשר להשתמש בו במוצרי API שלא משויכים לשרתי proxy של GraphQL או REST. מכסות ספציפיות למוצר API והגדרות פעולה אחרות חלות על כל שרתי ה-proxy במוצר.
  • לא נתמכות ב-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 (ראו יצירת שרתי יעד), ואז לציין את שרת היעד הזה כשיוצרים את ה-proxy החדש.

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

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

הקטע הזה לא נועד להיות מדריך מקיף ליצירת ניתוב. יכול להיות שהדוגמאות האלה לא מתאימות לכל תרחישי השימוש. בנוסף, ההוראות האלה מבוססות על ההנחה שאתם מכירים את הניתוב החיצוני (MIG) ואת ההגדרה של איזון עומסים ב-Cloud באמצעות 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 מסוג preflight לשרת proxy, ראו הוספת תמיכה ב-CORS ל-proxy ל-API.

הוספת מכסות

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

שימוש במפרטי OpenAPI כדי ליצור קובצי Proxy

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

מה זה מפרט OpenAPI?

הלוגו של Open API Initiative   "The Open API Initiative (OAI) is focused on creating, evolving and promoting a vendor neutral API description format based on the Swagger Specification." מידע נוסף זמין באתר 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. אחרי שיוצרים את ה-proxy, אפשר להשתמש בממשק המשתמש של Apigee כדי לפתח אותו עוד יותר על ידי הוספת מדיניות, הטמעה של קוד בהתאמה אישית וכו' – בדיוק כמו כל proxy של Apigee.

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

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

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

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

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

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

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

  3. לוחצים על ה-proxy ל-API ברשימה שרוצים להעתיק.
  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 לפני שהטמעת ה-Backend מסתיימת, וכך לאפשר את המשך פיתוח ה-Frontend באופן עצמאי. מידע נוסף על יצירת ממשקי API מדומים זמין במאמר OpenAPI Mock API Proxy.
  • ניהול טוקנים: Apigee יכול להנפיק טוקנים של OAuthV2, ובדרך כלל זה נעשה באמצעות שרת proxy ללא יעד.
  • בדיקת התנהגות המדיניות: שרת proxy ללא טירגוט יכול להיות שימושי כשרוצים לנסות מדיניות של Apigee כדי לבדוק את ההתנהגות שלה.