משימה של לולאת For Each

המשימה For Each Loop מאפשרת לבצע קריאות חוזרות לשילוב משנה מהשילוב הנוכחי (הראשי). המשימה חוזרת על משתנה המערך שהוגדר ומפעילה את שילוב המשנה לכל רכיב במערך. מספר הפעמים שמתבצעת קריאה לשילוב המשני שווה לגודל של משתנה המערך.

מזהה ההפעלה של ה-API ושם השילוב מזהים את השילוב המשני שרוצים להפעיל.

המשימה מאפשרת גם לאסוף את התגובה מכל הרצה של שילוב משני ולאחסן את הערך בשילוב הנוכחי לשימוש במשימות בהמשך. אפשר להשתמש בכל אחת מהגישות הבאות כדי לאסוף את התשובות:

  • אוספים את התגובה של כל הרצה במשתנה מערך, כאשר כל רכיב במערך מכיל את התגובה מהרצה מסוימת. כדי לאסוף את התשובות, מגדירים את המאפיין Collect values from sub-integration output(s).
  • צבירת התשובות של כל ההרצות במשתנה יחיד. כדי לצבור את התשובות, מגדירים את המאפיין Response parameter override mapping.

לפני שמתחילים

מאפייני ההגדרה

בטבלה הבאה מתוארות מאפייני ההגדרה של המשימה For Each Loop.

נכס סוג הנתונים תיאור
API Trigger ID String מזהה הטריגר של שילוב המשנה שרוצים להפעיל.

הערך הזה זמין בשדה Trigger ID של API Trigger בשילוב המשנה.

Integration name String השם של שילוב המשנה שרוצים להפעיל.
List to iterate מערך מסוג Boolean,‏ String,‏ Integer,‏ Double או JSON. רשימת הערכים שעבורם צריך להפעיל את שילוב המשנה. השילוב המשני פועל עבור כל ערך ברשימה, אחד אחרי השני.

אפשר להעביר את הערך של האיטרציה לשילוב המשני על ידי הגדרת המאפיין Iteration element sub-integration mapping. במאפיין הזה מציינים את המשתנה בשילוב המשני שאליו צריך למפות את הערך שחוזר על עצמו.

Iteration element sub-integration mapping לא רלוונטי משתנה בשילוב המשני שאליו צריך להקצות את הרכיב הנוכחי שחוזר על עצמו.
Map to additional sub-integration input(s) לא רלוונטי ערכים נוספים להעברה מהשילוב הנוכחי לשילוב המשני.

הערכים של המאפיין הזה הם בצורה של צמדי מפתח/ערך, כאשר המפתח הוא משתנה בשילוב הנוכחי, והערך הוא משתנה הקלט התואם בשילוב המשנה. לדוגמה, נניח שהשילוב הראשי כולל את המשתנה productID שרוצים למפות למשתנה subIntProductID של שילוב המשנה. במקרה כזה, בוחרים באפשרות productID בתפריט הנפתח Integration variable to map from (משתנה השילוב שממפים ממנו) ובוחרים באפשרות subIntProductID בתפריט הנפתח Subintegration input to map to (קלט שילוב המשנה שממפים אליו).

Collect values from sub-integration output(s) לא רלוונטי איסוף התוצאות של הרצות השילוב המשני.

בכל פעם שהשילוב המשני פועל, אפשר לאחסן את הפלט של השילוב המשני במשתנה מסוג מערך של השילוב הנוכחי. בתפריט הנפתח Sub-integration output to collect from (פלט של שילוב משני לאיסוף), בוחרים את משתנה הפלט של השילוב המשני, ובתפריט הנפתח Integration variable to collect into (משתנה שילוב לאיסוף), בוחרים את משתנה המערך בשילוב הנוכחי. כל רכיב במערך מכיל את התשובה מהרצה של שילוב משנה מסוים. לדוגמה, אם משתנה המערך הוא resultsArray,‏ resultsArray[0] מכיל את התגובה מההרצה הראשונה ו-resultsArray[1] מכיל את התגובה מההרצה השנייה.

Response parameter override mapping לא רלוונטי קוראים את משתנה הפלט של הרצת שילוב משני ומאחסנים אותו במשתנה של השילוב הנוכחי.

בתפריט הנפתח Sub-integration output to map from (פלט של שילוב משנה למיפוי), בוחרים את משתנה הפלט של שילוב המשנה. בתפריט הנפתח Integration variable to override (משתנה שילוב להחלפה), בוחרים את המשתנה התואם בשילוב הנוכחי. אפשר לשלוח את המשתנה שהוגדר כברירת מחדל בהפעלה הנוכחית של השילוב להפעלה הבאה של שילוב המשנה, על ידי מיפוי המשתנה במאפיין Map to additional sub-integration input(s). כתוצאה מכך, אפשר לצבור את התשובות מהרצות המשנה של האינטגרציה.

Loop metadata מערך JSON משתנה הפלט שמכיל את פרטי הביצוע של שילובי המשנה, כמו מזהה הביצוע של שילוב המשנה, הודעות שגיאה וערכי משתנים שהועברו במהלך הביצוע. מטא-נתונים של לולאה מכילים משתנים, כולל משתני הפלט הבאים: current_iteration_count, ‏ sub_integration_execution_ids, ‏ failure_location, ‏ current_element, ‏ iteration_element ו-failure_message.

דוגמאות

בקטעים הבאים מופיעות דוגמאות מפורטות להגדרה ולשימוש במשימה For Each Loop בתרחישים ספציפיים. בדוגמאות האלה מפורטים שלבי ההגדרה לתרחישי שימוש שונים:

חזרה על הפעולה והעברת כל רכיב

נניח שיש לכם שילוב ראשי עם משתנה מערך בשם productIds שמכיל ערכים כמו ["P1", "P2", "P3"]. כדי לקרוא לתת-שילוב בשם GetProductDetails לכל מזהה מוצר, מגדירים את המשימה For Each Loop באופן הבא:

  • מגדירים את List to iterate (רשימה לאיטרציה) לערך productIds.
  • מגדירים את מיפוי משנה של אלמנט איטרציה כדי למפות את האלמנט הנוכחי של productIds למשתנה ב-GetProductDetails, לדוגמה, subIntProductId.

כל הפעלה של GetProductDetails מקבלת מזהה מוצר אחד מ-productIds.

איסוף פלטים של שילובים משניים

כמו בדוגמה הקודמת, נניח שהפונקציה GetProductDetails מחזירה אובייקט JSON במשתנה פלט שנקרא productInfo.

כדי לאסוף את כל הפלט productInfo מכל הרצה של שילוב משנה ולאחסן אותו כרכיבים במשתנה מסוג מערך בשילוב הראשי:

  • מגדירים את האפשרות איסוף ערכים מפלט של שילובים משניים.
  • בוחרים באפשרות productInfo מתוך Sub-integration output to collect from (פלט של שילוב משני לאיסוף).
  • בוחרים משתנה במערך בשילוב הראשי, למשל allProductDetails, מתוך Integration variable to collect into (משתנה שילוב לאיסוף).

אחרי שהלולאה מסתיימת, allProductDetails הוא מערך שבו כל רכיב הוא ה-JSON של productInfo מהפעלה אחת של שילוב משנה.

תוצאות מצטברות עם שינוי של תגובה מברירת המחדל

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

  • מוודאים שהשילוב המשני מחזיר ערך במשתנה פלט itemPrice.
  • מאתחלים את המשתנה totalPrice ל-0 בשילוב הראשי.
  • מגדירים מיפוי של פרמטרים של תשובות לביטול ברירת המחדל:
    • מיפוי itemPrice (משילוב משני) אל totalPrice (בשילוב הראשי).
  • בקטע Map to additional sub-integration input(s) (מיפוי לקלט נוסף של שילוב משנה):
    • ממפים את totalPrice (מהשילוב הראשי) למשתנה קלט בשילוב המשני, לדוגמה, currentTotal.
  • בלוגיקה של שילוב המשנה, מוסיפים את המחיר הנוכחי של הפריט ל-currentTotal שהתקבל מהשילוב הראשי. לאחר מכן, מחזירים את הסכום החדש הזה במשתנה הפלט שנקרא itemPrice. התהליך הזה יוצר צבירה מצטברת.

העברת קלט נוסף

אם לשילוב המשני GetProductDetails נדרש קוד currency מהשילוב הראשי:

  • בקטע Map to additional sub-integration input(s) (מיפוי לקלט נוסף של שילוב משנה):
    • ממפים את משתנה השילוב הראשי currencyCode למשתנה הקלט של שילוב המשנה subIntCurrency.
  • ה-currencyCode הזה מועבר לכל הפעלה של שילוב המשנה.

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

שיטות מומלצות

מידע על מכסות השימוש שחלות על המשימה For Each Loop זמין במאמר מכסות שימוש.

אסטרטגיה לטיפול בשגיאות

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

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

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

המאמרים הבאים