משימה של לולאת For Each
המשימה For Each Loop מאפשרת לבצע קריאות חוזרות לשילוב משנה מהשילוב הנוכחי (הראשי). המשימה חוזרת על משתנה המערך שהוגדר ומפעילה את שילוב המשנה לכל רכיב במערך. מספר הפעמים שמתבצעת קריאה לשילוב המשני שווה לגודל של משתנה המערך.
מזהה ההפעלה של ה-API ושם השילוב מזהים את השילוב המשני שרוצים להפעיל.
המשימה מאפשרת גם לאסוף את התגובה מכל הרצה של שילוב משני ולאחסן את הערך בשילוב הנוכחי לשימוש במשימות בהמשך. אפשר להשתמש בכל אחת מהגישות הבאות כדי לאסוף את התשובות:
- אוספים את התגובה של כל הרצה במשתנה מערך, כאשר כל רכיב במערך מכיל את התגובה מהרצה מסוימת. כדי לאסוף את התשובות, מגדירים את המאפיין
Collect values from sub-integration output(s). - צבירת התשובות של כל ההרצות במשתנה יחיד. כדי לצבור את התשובות, מגדירים את המאפיין
Response parameter override mapping.
לפני שמתחילים
- מוודאים שחיברתם חשבון שירות שמנוהל על ידי משתמש לשילוב. אם לא הגדרתם חשבון שירות בניהול המשתמשים בשילוב, המערכת תשתמש כברירת מחדל בחשבון השירות שמוגדר כברירת מחדל (
service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) לצורך אימות. - מוודאים שלחשבון השירות שלכם יש את תפקיד ה-IAM Application Integration Invoker (הפעלת שילוב אפליקציות). במאמר ניהול הגישה לחשבונות שירות מוסבר איך נותנים לחשבון שירות תפקיד.
מאפייני ההגדרה
בטבלה הבאה מתוארות מאפייני ההגדרה של המשימה 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)
|
לא רלוונטי | ערכים נוספים להעברה מהשילוב הנוכחי לשילוב המשני.
הערכים של המאפיין הזה הם בצורה של צמדי מפתח/ערך, כאשר המפתח הוא משתנה בשילוב הנוכחי, והערך הוא משתנה הקלט התואם בשילוב המשנה. לדוגמה, נניח שהשילוב הראשי כולל את המשתנה |
Collect values from sub-integration output(s)
|
לא רלוונטי | איסוף התוצאות של הרצות השילוב המשני.
בכל פעם שהשילוב המשני פועל,
אפשר לאחסן את הפלט של השילוב המשני במשתנה מסוג מערך של השילוב הנוכחי.
בתפריט הנפתח Sub-integration output to collect from (פלט של שילוב משני לאיסוף), בוחרים את משתנה הפלט של השילוב המשני, ובתפריט הנפתח Integration variable to collect into (משתנה שילוב לאיסוף), בוחרים את משתנה המערך בשילוב הנוכחי. כל רכיב במערך מכיל את התשובה מהרצה של שילוב משנה מסוים. לדוגמה, אם משתנה המערך הוא |
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 זמין במאמר מכסות שימוש.
אסטרטגיה לטיפול בשגיאות
אסטרטגיה לטיפול בשגיאות במשימה מציינת את הפעולה שיש לבצע אם המשימה נכשלת בגלל שגיאה זמנית. מידע על שימוש באסטרטגיה לטיפול בשגיאות ועל סוגים שונים של אסטרטגיות לטיפול בשגיאות זמין במאמר אסטרטגיות לטיפול בשגיאות.
מכסות ומגבלות
מידע על מכסות ומגבלות זמין במאמר מכסות ומגבלות.
המאמרים הבאים
- מידע על כל המשימות והטריגרים
- איך בודקים ומפרסמים שילוב
- מידע נוסף על טיפול בשגיאות
- מידע נוסף על יומני ביצוע של שילובים