ניסיון השילוב לדוגמה

במהלך ההגדרה הראשונית של Application Integration בפרויקט בענן שלכם ב-Google Cloud,‏ Application Integration יוצר כברירת מחדל שילוב לדוגמה לא גלוי בשם ExampleIntegration-EcomOrderProcessing.

הצגת שילוב לדוגמה

כדי לראות את הדוגמה לשילוב:

  1. במסוף Google Cloud, עוברים לדף Application Integration.

    מעבר אל Application Integration

  2. בתפריט הניווט שמימין, לוחצים על שילובים כדי לפתוח את הדף שילובים.
  3. לוחצים על השילוב בשם ExampleIntegration-EcomOrderProcessing.

    השילוב לדוגמה ייפתח בעורך השילובים בפריסה שדומה לזו:

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

דוגמה לשילוב של מסחר אלקטרוני

אתם יכולים להשתמש בשילוב לדוגמה הזה כדי להתנסות בטריגרים, במשימות ובמושגים שונים של Application Integration.

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

  1. קבלת מטען ייעודי (payload) של בקשת הזמנה מנקודת קצה ל-API:
    {
      "order_no": "12345",
      "buyer_id": "raambo",
      "line_items": [
        {
          "line": 1,
          "sku": "tr100",
          "vendor": "Internal",
          "quantity": 1,
          "price_per_unit": 10
        },
        {
          "line": 2,
          "sku": "tbz",
          "vendor": "External",
          "quantity": 24.0,
          "price_per_unit": 1
        }
      ]
    }
  2. מחפשים את מטען הייעוד של ההזמנה ומחשבים את ערך ההזמנה הכולל.
  3. בודקת אם ערך ההזמנה הכולל גדול מ-100 $או שווה לו. אם כן, צריך לקבל אישור נוסף כדי להמשיך.
  4. בודקים אם לאחד מהפריטים בהזמנה יש ספק חיצוני. אם כן, שולחים את הפרטים לספק באמצעות קריאה ל-API בארכיטקטורת REST.
  5. שליחת תגובת ההזמנה עם ערך ההזמנה הכולל, פריטים של ספקים חיצוניים שסוננו וסטטוס תגובת ה-HTTP שלהם.

בטבלה הבאה מפורטים כל הטריגרים, המשימות ותנאי הקצה שמשמשים ב-ExampleIntegration-EcomOrderProcessing:

רכיב הגדרות אישיות תיאור
הפעלה של API

(OrderProcessAPITrigger)

מזהה הטריגר: api_trigger/ecom-order-processing_API_1 הפעלת השילוב לכל בקשת הזמנה.
משימת מיפוי נתונים

(חיפוש המחיר הכולל של ההזמנה)

קלט תשובה הפונקציה מחלצת את משתנה הקלט order_request JSON וחוזרת על כל פריטי ההזמנה באמצעות פונקציית המיפוי FOR_EACH כדי לחשב את ערך המחיר הכולל של ההזמנה.

ערך המחיר הכולל של ההזמנה מחושב על ידי הכפלת הפריט quantity והפריט price_per_item באמצעות פונקציות המיפוי GET_PROPERTY ו-MULTIPLY.

הערך הסופי מומר לסוג נתונים מסוג double ומאוחסן במשתנה הפלט total_order_value.

orders_request.line_items
.FOR_EACH(~obj1->~obj1
  .GET_PROPERTY("quantity")
  .TO_DOUBLE()
  .MULTIPLY(~obj1
    .GET_PROPERTY("price_per_unit")
    .TO_DOUBLE()))
.TO_DOUBLE_ARRAY()
.SUM()
total_order_value
תנאי קצה

(ערך ההזמנה הכולל מעל הסף)

תנאי: $total_order_value$ >= $threshold_order_value$ הפונקציה בודקת אם ערך ההזמנה הכולל גדול מ-100 $או שווה לו. אם כן, השליטה מועברת אל משימת אישור.
תנאי קצה

(TotalOrderValue Below Threshold)

תנאי: $total_order_value$ < $threshold_order_value$ הפונקציה בודקת אם ערך ההזמנה הכולל נמוך מ-100$. אם כן, השליטה מועברת אל המסנן של המשימה 'פריטים חיצוניים'.
משימת אישור

(אישור)

נמענים: Enter the approver's email address

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

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

(סינון פריטים חיצוניים)

קלט תשובה הפונקציה מחלצת את משתנה קלט ה-JSON‏ order_request ומסננת את כל פריטי ההזמנה עם ספקים חיצוניים באמצעות פונקציית המיפוי FILTER.

הערכים המסוננים מאוחסנים במשתנה הפלט filtered_external_items.

orders_request
.GET_PROPERTY("line_items")
.FILTER(~obj1->~obj1
  .GET_PROPERTY("vendor")
  .TO_STRING()
  .EQUALS("External"))
filtered_external_items
משימת לולאת For Each

(לכל לולאה)

רשימה לאיטרציה: filtered_external_items

מזהה טריגר של API: api_trigger/ecom-order-processing_API_2

שם השילוב: ExampleIntegration-EcomOrderProcessing

המערכת מבצעת איטרציה על המשתנה filtered_external_items וקוראת לשילוב המשני עבור כל רכיב במערך. בנוסף, הוא אוסף את התגובה של כל הרצה ב-rest_call_response_status, כאשר כל רכיב במערך מכיל את התגובה מהרצה מסוימת.
הפעלה של API

‫(Report ExternalOrders)

מזהה הטריגר: api_trigger/ecom-order-processing_API_2 מפעיל את השילוב המשני לכל רכיב ב-filtered_external_items.
Call REST Endpoint task

(Call REST Endpoint)

כתובת ה-URL הבסיסית של נקודת הקצה: https://mocktarget.apigee.net/echo

שיטת HTTP‏: POST

גוף הבקשה: sub_integration_input

מבצע קריאת REST אל https://mocktarget.apigee.net/echo.

פרסום ובדיקה של שילוב לדוגמה

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

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

בדיקה מכלי העריכה של השילוב

כדי לבדוק את השילוב לדוגמה:

  1. בסרגל הכלים של כלי העריכה של השילוב, לוחצים על Test (בדיקה) ואז בוחרים באפשרות OrderProcessAPITrigger (הפעלה של OrderProcessAPI).

    מופיעה החלונית Test Integration (בדיקת השילוב).

  2. מוצגת בקשה לערוך את משתנה הקלט orders_request. לצורך הבדיקה הזו, אפשר לעדכן את הערך quantity ל-240. משתנה הקלט של העדכון orders_request צריך להיראות כך:
        {
          "order_no": "12345",
          "buyer_id": "raambo",
          "line_items": [
            {
              "line": 1,
              "sku": "tr100",
              "vendor": "Internal",
              "quantity": 1,
              "price_per_unit": 10
            },
            {
              "line": 2,
              "sku": "tbz",
              "vendor": "External",
              "quantity": 240,
              "price_per_unit": 1
            }
          ]
        }
        
  3. לוחצים על Test integration (בדיקת השילוב).

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

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

כדי לבדוק את יומני ההפעלה ולראות את הסטטוס ואת מטען הייעודי (payload) של השילוב הנתון:

  1. בכלי לעריכת שילובים, לוחצים על תמונה שמציגה את הסמל של יומני הביצועהצגת יומני הביצוע של השילוב הזה. יופיע הדף יומני ביצוע.
  2. בדף יומני הרצה אפשר לראות פרטים על כל ניסיון להפעיל שילוב. כל רשומה כוללת פרטים על ניסיון ההפעלה, כולל:
    • שם השילוב
    • מזהה ביצוע
    • סטטוס
    • שעת התחלה
    • משך
    • גרסת השילוב
    • מזהה מפעיל
  3. לוחצים על החץ להרחבה (>) לצד השילוב שהופעל כדי לראות רשימה מורחבת של משימות ומשתנים בשילוב, יחד עם סטטוס המשימה ומטעני משתנים.

בדיקה באמצעות קריאה ל-API בארכיטקטורת REST

מקרה בדיקה 1: שליחת בקשה עם קלט ברירת מחדל

  curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

תרחיש בדיקה 2: שליחת בקשה עם קלט מותאם אישית

  curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

מחליפים את מה שכתוב בשדות הבאים:

פלט הבדיקה

ה-API מחזיר את תגובת ההפעלה של השילוב, שמכילה את כל הערכים של משתני הפלט של השילוב.

מכסות ומגבלות

מידע על מכסות ומגבלות זמין במאמר מכסות ומגבלות.