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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ללא יעד

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

העלאת חבילת 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 Model Armor.
שרת proxy עם מטמון סמנטי שמירת תשובות במטמון לבקשות דומות, כדי לשפר את זמן התגובה ואת הקריאות ל-LLM. מידע נוסף זמין במאמר איך מתחילים להשתמש במדיניות שמירה במטמון סמנטי.
תבנית של מפרט OpenAPI שרת proxy הפוך (הכי נפוץ) יוצרים את ה-proxy ממפרט OpenAPI תקין. מידע נוסף על האפשרות הזו מופיע בהמשך הקטע במאמר בנושא שימוש במפרטי OpenAPI ליצירת שרתי proxy.
ללא יעד

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

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

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

‫Apigee יוצרת שרתי proxy הפוכים על סמך המידע הבא:

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

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

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

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

קטע URI שמופיע אחרי הכתובת http://[host] או https://[host] של שרת ה-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 ל-gRPC API ב-Apigee:

  • תמיכה בבקשות gRPC אונריות.
  • אי אפשר להשתמש במדיניות שמשפיעה על מטען הייעודי (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 באפליקציות ושימוש בפקודות של gcloud CLI כדי ליצור ניתוב ל-gRPC.

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

הוספת מכסות

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

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

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

מה זה מפרט OpenAPI?

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