אתם יכולים להשתמש בטריגר Eventarc כדי להפעיל תהליך עבודה כתוצאה מאירוע או מסדרה של אירועים. האירועים מנותבים מספק אירועים למקבלי אירועים שמתעניינים בהם.
Eventarc מעביר אירועים למקבל האירועים בפורמט CloudEvents באמצעות בקשת HTTP. שירות Workflows ממיר את האירוע לאובייקט JSON (בהתאם למפרט CloudEvents) ומעביר את האירוע להרצת תהליך העבודה כארגומנט של זמן הריצה של תהליך העבודה.
מופעל ביצוע של תהליך העבודה:
- כשנוצר יומן ביקורת שתואם לקריטריוני הסינון של הטריגר. לדוגמה, במדריך למתחילים הזה מוסבר איך להפעיל Workflows באמצעות אירועים מ-BigQuery באמצעות יומני הביקורת של Cloud.
- בתגובה לאירועים ישירים, כמו עדכון של קטגוריה של Cloud Storage או עדכון של תבנית הגדרת תצורה מרחוק ב-Firebase. לדוגמה, במדריך למתחילים הזה מוסבר איך מפעילים Workflows באמצעות אירועים ישירים מ-Cloud Storage.
- הודעות שפורסמו בנושא Pub/Sub. לדוגמה, אפשר לעיין במדריך לתחילת העבודה שבו מפעילים Workflows באמצעות הודעות Pub/Sub.
שימו לב לנקודות הבאות:
האירועים נחשבים כאירועים שנמסרו ברגע שהביצוע של תהליך העבודה מתחיל, והביצוע בפועל מתבצע באופן אסינכרוני בשירותי Workflows.
אם הפעלת תהליך העבודה מתחילה, אבל נכשלת בהמשך, לא מתבצע ניסיון חוזר להפעלות שהופעלו על ידי אירועים. מידע נוסף זמין במדיניות בנושא ניסיון חוזר לשליחת אירועים.
חלון ביטול הכפילויות ב-Workflows הוא 24 שעות, כדי להבטיח עיבוד של אירועים בדיוק פעם אחת.
כשמשתמשים ב-Workflows כיעד לטריגר של Eventarc, אירועים שגדולים יותר מגודל הארגומנט המקסימלי של Workflows לא יפעילו את ההרצה של תהליך העבודה. מידע נוסף זמין במאמר מכסות ומגבלות.
בפרויקטים שמוגנים על ידי גבולות גזרה לשירות, כשמנתבים אירועים ליעדי Workflows שבהם נקודת הקצה של Pub/Sub push מוגדרת להפעלה של Workflows, אפשר ליצור רק מינויים חדשים של Pub/Sub push דרך Eventarc. חשוב לשים לב שחשבון השירות שמשמש לאימות push לנקודת הקצה של Workflows צריך להיכלל בגבולות גזרה לשירות. מידע נוסף זמין במאמר בנושא הגדרת גבולות גזרה לשירות באמצעות VPC Service Controls.
יצירת טריגר באמצעות Google Cloud CLI
כדי ליצור טריגר, מריצים פקודה gcloud eventarc triggers create עם דגלים נדרשים ואופציונליים.
מידע נוסף זמין בהוראות לשימוש ב-gcloud שבקטע 'יצירת טריגר' במאמר יצירת טריגר עבור ספק, סוג אירוע ויעד ספציפיים ב-Workflows.
יצירת טריגר באמצעות המסוף
בשלבים הבאים מוסבר איך ליצור טריגר בדף Workflows במסוף Google Cloud .
לפני שמתחילים
-
מפעילים את ממשקי ה-API של Eventarc ו-Pub/Sub.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים יוצרים חשבון שירות כדי ש-Eventarc יוכל לשלוח בקשות ל-Workflows API:
נכנסים לדף Service Accounts במסוף Google Cloud .
בוחרים פרויקט ולוחצים על Create service account.
כותבים שם בשדה Service account name. השם צריך להיות באורך של 6 עד 30 תווים.
הוא יכול להכיל תווים אלפאנומריים באותיות קטנות ומקפים. אחרי שיוצרים חשבון שירות, אי אפשר לשנות את השם שלו.
לוחצים על Create and continue.
נותנים לחשבון השירות החדש את התפקיד workflows.invoker כדי שלחשבון תהיה הרשאה להפעיל את תהליך העבודה. ברשימה Select a role בוחרים באפשרות Workflows > Workflows Invoker.
אם אתם מפתחים אפליקציה בסביבת ייצור, הקפידו תמיד להקצות את התפקידים עם ההרשאות המינימליות האפשריות. מידע נוסף זמין במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.
לוחצים על סיום.
כדי לאפשר לישות המורשית שתריץ את פקודות Eventarc לפעול כחשבון שירות לניהול זהויות והרשאות גישה (IAM), צריך להעניק תפקיד שמאפשר לישות המורשית להתחזות לחשבון השירות.
הגדרת הטריגר
אם עדיין אין לכם תהליך עבודה שאתם רוצים להפעיל, צרו ופרסו תהליך עבודה.
נכנסים לדף Workflows במסוף Google Cloud :
בדף Workflows (תהליכי עבודה), בוחרים תהליך עבודה כדי לעבור לדף הפרטים שלו.
בדף פרטי תהליך העבודה, לוחצים על edit עריכה.
בדף Edit workflow (עריכת תהליך העבודה), בוחרים באפשרות Add new trigger > Eventarc (הוספת טריגר חדש > Eventarc).
החלונית Eventarc trigger תיפתח.
פועלים לפי ההוראות ליצירת טריגר לספק ספציפי, לסוג אירוע ולWorkflows יעד, ונעזרים בהוראות לשימוש ב-Console שבקטע 'יצירת טריגר'.
בוחרים את חשבון השירות שמפעיל את תהליך העבודה.
כאן מציינים את חשבון השירות ב-IAM שקודם לכן הקציתם לו את התפקיד
workflows.invoker, כדי שלחשבון תהיה הרשאה להפעיל את תהליך העבודה.לוחצים על Save trigger.
הטריגר של Eventarc מופיע בכרטיסייה Triggers בדף Workflows Details.
אם רוצים לעדכן או למחוק את הטריגר, צריך לערוך את תהליך העבודה:
- בדף פרטי תהליך העבודה, לוחצים על edit עריכה.
- בקטע Triggers (טריגרים), מוצאים את הטריגר שרוצים לעדכן או למחוק.
- לוחצים על edit עריכת המשאב או על delete מחיקת המשאב.
הפעלת תהליך העבודה מופעלת עכשיו על ידי האירועים שתואמים לקריטריוני הסינון של הטריגר.
יצירת טריגר באמצעות Terraform
אפשר ליצור טריגר לתהליך עבודה באמצעות Terraform. פרטים נוספים מופיעים במאמר בנושא הפעלת תהליך עבודה באמצעות Eventarc ו-Terraform.