טריגר Eventarc מצהיר על העניין שלכם באירוע מסוים או בקבוצת אירועים. אפשר להגדיר ניתוב אירועים על ידי ציון מסננים לטריגר, כולל מקור האירוע, וזרימת העבודה של היעד.
האירועים מועברים בפורמט CloudEvents באמצעות בקשת HTTP. שירות Workflows ממיר את האירוע לאובייקט JSON (בהתאם למפרט CloudEvents) ומעביר את האירוע להרצת זרימת העבודה כארגומנט של זמן הריצה של זרימת העבודה. חשוב לוודא שגודל האירוע לא חורג ממגבלת המשאבים. אירועים שגדולים מהגודל המקסימלי של ארגומנטים ב-Workflows לא יפעילו את הביצוע של זרימת העבודה.
בהוראות האלה מוסבר איך להגדיר ניתוב אירועים כך שהרצה של תהליך העבודה תופעל בתגובה לאירועNetwork Management ישיר. פרטים נוספים זמינים ברשימת האירועים הישירים הנתמכים.הכנה ליצירת טריגר
לפני שיוצרים טריגר Eventarc לזרימת עבודה של יעד, צריך לבצע את המשימות הבאות.
המסוף
בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
מפעילים את ממשקי ה-API Eventarc, Eventarc Publishing, Workflows ו-Workflow Executions.
אם רלוונטי, מפעילים את ממשק ה-API שקשור לאירועים הישירים. לדוגמה, כדי להשתמש ב Network Management אירועים, צריך להפעיל אתNetwork Management API.
אם עדיין אין לכם חשבון שירות בניהול המשתמש, אתם צריכים ליצור כזה חשבון ואז להקצות לו את התפקידים וההרשאות הנדרשים כדי ש-Eventarc יוכל לנהל אירועים עבור זרימת עבודה יעד.
נכנסים לדף Service Accounts במסוף Google Cloud .
בוחרים את הפרויקט הרצוי.
כותבים שם בשדה Service account name. השדה Service account ID ימולא במסוף Google Cloud בהתאם לשם הזה.
כותבים תיאור בשדה Service account description. לדוגמה,
Service account for event trigger.לוחצים על Create and continue.
כדי לספק גישה מתאימה, ברשימה Select a role בוחרים את תפקידי ניהול הזהויות והגישה (IAM) שרוצים להקצות לחשבון השירות. מידע נוסף זמין במאמר בנושא תפקידים והרשאות ליעדים של Workflows.
כדי להוסיף עוד תפקידים, לוחצים על Add another role ומוסיפים אותם אחד אחרי השני.
לוחצים על Continue.
כדי לסיים את יצירת החשבון, לוחצים על סיום.
gcloud
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מפעילים את ממשקי ה-API Eventarc, Eventarc Publishing, Workflows ו-Workflow Executions:
gcloud services enable eventarc.googleapis.com \ eventarcpublishing.googleapis.com \ workflows.googleapis.com \ workflowexecutions.googleapis.com
אם רלוונטי, מפעילים את ממשק ה-API שקשור לאירועים הישירים. לדוגמה, כדי להפעיל Network Management אירועים, צריך להפעיל את האפשרות
networkmanagement.googleapis.com.אם עדיין אין לכם חשבון שירות בניהול המשתמש, אתם צריכים ליצור כזה חשבון, ואז להקצות לו את התפקידים וההרשאות הנדרשים כדי ש-Eventarc יוכל לנהל אירועים עבור תהליך עבודה יעד.
יוצרים את חשבון השירות:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
מחליפים את
SERVICE_ACCOUNT_NAMEבשם של חשבון השירות. הוא צריך להיות באורך שבין 6 ל-30 תווים, והוא יכול לכלול תווים אלפאנומריים ומקפים. אחרי שיוצרים חשבון שירות, אי אפשר לשנות את השם שלו.מעניקים את התפקידים או ההרשאות הנדרשים לניהול זהויות והרשאות גישה (IAM). מידע נוסף זמין במאמר תפקידים והרשאות ליעדים של Workflows.
יצירת טריגר
אפשר ליצור טריגר Eventarc עם תהליך עבודה שפריסתו הושלמה כמקבל האירוע באמצעות Google Cloud CLI (gcloud או Terraform) או דרך מסוף Google Cloud .
המסוף
- נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
- לוחצים על Create trigger (יצירת ביטוי להפעלה).
- מקלידים Trigger name.
זהו המזהה של הטריגר, והוא חייב להתחיל באות. הוא יכול להכיל עד 63 אותיות קטנות, מספרים או מקפים.
- בשדה Trigger type, בוחרים באפשרות Google sources.
- ברשימה Event provider בוחרים באפשרות Network Management.
שימו לב: יכול להיות שבשם ספק האירועים שמופיע בGoogle Cloud מסמכי התיעוד המשויכים לא מופיעה התחילית Cloud או Google Cloud. לדוגמה, במסוף, Memorystore for Redis נקרא Google Cloud Memorystore for Redis.
- ברשימה Event type (סוג האירוע), בוחרים סוג אירוע מתוך האירועים Direct (ישירים).
- כדי לציין את הקידוד של מטען הייעודי (payload) של האירוע, ברשימה Event data content type (סוג התוכן של נתוני האירוע), בוחרים באפשרות application/json או באפשרות application/protobuf.
שימו לב שמטען ייעודי (payload) של אירוע בפורמט JSON גדול יותר ממטען ייעודי בפורמט Protobuf. הדבר הזה עשוי להשפיע על המהימנות, בהתאם ליעד של האירוע ולמגבלות שלו לגבי גודל האירוע. מידע נוסף זמין במאמר בנושא בעיות מוכרות.
- ברשימה Region, בוחרים את אותו אזור כמוGoogle Cloud השירות שמייצר את האירועים.
מידע נוסף זמין במאמר בנושא מיקומי Eventarc.
- אם האפשרות רלוונטית לספק האירועים, לוחצים על הוספת מסנן ומציינים את הפרטים הבאים:
- בשדה Attribute 1 (מאפיין 1), בהתאם לאירוע הישיר שבחרתם, בוחרים מזהה משאב שיכול לשמש כמסנן אירועים.
- בוחרים אופרטור:
- שווה
- תבנית נתיב
מידע נוסף זמין במאמר בנושא הסבר על דפוסי נתיבים.
- בשדה ערך מאפיין 1, בהתאם לאופרטור שבחרתם, מקלידים את הערך המדויק או מחילים תבנית נתיב.
- אם יש עוד מסנני מאפיינים שרלוונטיים, לוחצים על הוספת מסנן ומציינים את הערכים המתאימים.
- בוחרים את חשבון השירות שיפעיל את השירות או את תהליך העבודה.
אפשר גם ליצור חשבון שירות חדש.
כאן מציינים את כתובת האימייל בחשבון השירות של ניהול הזהויות והרשאות הגישה (IAM) שמשויך לטריגר, ושקודם לכן הענקתם לו תפקידים ספציפיים שנדרשים על ידי Eventarc.
- ברשימה Event destination בוחרים באפשרות Workflows.
- בוחרים תהליך עבודה.
זהו שם תהליך העבודה שאליו יועברו האירועים. אירועים להרצת תהליך עבודה עוברים טרנספורמציה ומועברים לתהליך העבודה כארגומנטים של זמן ריצה.
מידע נוסף מופיע במאמר בנושא יצירת טריגר לזרימות עבודה.
- אפשר גם ללחוץ על הוספת תווית . תוויות הן צמדי מפתח/ערך שעוזרים לכם לארגן אתGoogle Cloud המשאבים. מידע נוסף זמין במאמר מהן תוויות?
- לוחצים על יצירה.
אחרי שיוצרים טריגר, אי אפשר לשנות את המסננים של מקור האירועים. במקום זאת, אפשר ליצור טריגר חדש ולמחוק את הטריגר הישן. מידע נוסף זמין במאמר בנושא ניהול טריגרים.
gcloud
כדי ליצור טריגר, מריצים את הפקודה gcloud eventarc triggers create
יחד עם הדגלים הנדרשים והאופציונליים.
gcloud eventarc triggers create TRIGGER \ --location=LOCATION \ --destination-workflow=DESTINATION_WORKFLOW \ --destination-workflow-location=DESTINATION_WORKFLOW_LOCATION \ --event-filters="type=EVENT_FILTER_TYPE" \ --event-filters="COLLECTION_ID=RESOURCE_ID" \ --event-filters-path-pattern="COLLECTION_ID=PATH_PATTERN" \ --event-data-content-type="EVENT_DATA_CONTENT_TYPE" \ --service-account="SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
מחליפים את מה שכתוב בשדות הבאים:
-
TRIGGER: המזהה של הטריגר או מזהה מלא. -
LOCATION: המיקום של טריגר Eventarc. אפשר גם להגדיר את המאפייןeventarc/location, למשלgcloud config set eventarc/location us-central1.כדי למנוע בעיות בביצועים ובמיקום אחסון הנתונים, המיקום צריך להיות זהה למיקום של Google Cloud השירות שמייצר את האירועים. מידע נוסף זמין במאמר בנושא מיקומי Eventarc.
-
DESTINATION_WORKFLOW: המזהה של תהליך העבודה שנפרס ומקבל את האירועים מהטריגר. תהליך העבודה יכול להיות בכל אחד מהמיקומים הנתמכים של Workflows, והוא לא חייב להיות באותו מיקום כמו הטריגר. עם זאת, תהליך העבודה חייב להיות באותו פרויקט כמו הטריגר. -
DESTINATION_WORKFLOW_LOCATION(אופציונלי): המיקום שבו מופעל תהליך העבודה של היעד. אם לא מציינים מיקום, ההנחה היא שתהליך העבודה נמצא באותו מיקום כמו הטריגר. -
EVENT_FILTER_TYPE: המזהה של האירוע. אירוע נוצר כשקריאה ל-API של השיטה מצליחה. בפעולות ארוכות טווח, האירוע נוצר רק בסוף הפעולה, ורק אם הפעולה בוצעה בהצלחה. רשימה של סוגי האירועים הנתמכים מופיעה במאמר בנושא סוגי אירועים של Google שנתמכים על ידי Eventarc.
-
COLLECTION_ID(אופציונלי): רכיב resource שיכול לשמש כמסנן אירועים. הערך הואtest. -
RESOURCE_ID: המזהה של המשאב שמשמש כערך הסינון של האוסף המשויך. מידע נוסף זמין במאמר מזהה משאב. -
PATH_PATTERN: תבנית הנתיב שרוצים להחיל כשמסננים את המשאב -
EVENT_DATA_CONTENT_TYPE: (אופציונלי) הקידוד של מטען הייעודי (payload) של האירוע. הערך יכול להיותapplication/jsonאוapplication/protobuf. קידוד ברירת המחדל הואapplication/json.שימו לב שמטען ייעודי (payload) של אירוע בפורמט JSON גדול יותר ממטען ייעודי בפורמט Protobuf. זה עלול להשפיע על המהימנות, בהתאם ליעד של האירוע ולמגבלות שלו על גודל האירוע. מידע נוסף זמין במאמר בעיות מוכרות.
-
SERVICE_ACCOUNT_NAME: השם של חשבון השירות שמנוהל על ידי המשתמש. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud
הערות:
- חובה להשתמש בדגל
--event-filters="type=EVENT_FILTER_TYPE". אם לא מוגדר מסנן אירועים אחר, המערכת תתאים אירועים לכל המשאבים. EVENT_FILTER_TYPEאי אפשר לשנות אחרי היצירה. כדי לשנות אתEVENT_FILTER_TYPE, צריך ליצור טריגר חדש ולמחוק את הטריגר הישן.- לכל טריגר יכולים להיות כמה מסנני אירועים, שמופרדים בפסיקים בדגל אחד
--event-filters=[ATTRIBUTE=VALUE,...] או שאפשר לחזור על הדגל כדי להוסיף עוד מסננים. רק אירועים שתואמים לכל המסננים נשלחים ליעד. אין תמיכה בתווים כלליים לחיפוש ובביטויים רגולריים. עם זאת, כשמשתמשים בדגל--event-filters-path-pattern, אפשר להגדיר דפוס של נתיב למשאב. - הדגל
--service-accountמשמש לציון כתובת האימייל בחשבון השירות בניהול זהויות והרשאות גישה (IAM) שמשויך לטריגר.
דוגמה:
gcloud eventarc triggers create helloworld-trigger \
--location=us-central1 \
--destination-workflow=my-workflow \
--destination-workflow-location=us-central1 \
--event-filters="type=google.cloud.networkmanagement.connectivityTest.v1.updated" \
--event-filters-path-pattern="test=my-test-*" \
--service-account="${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"הפקודה הזו יוצרת טריגר בשם helloworld-trigger לאירוע שמזוהה כ-google.cloud.networkmanagement.connectivityTest.v1.updated, ומתאימה לאירועים עם מזהי test שמתחילים ב-my-test-.
Terraform
אפשר ליצור טריגר לתהליך עבודה באמצעות Terraform. פרטים נוספים מופיעים במאמר הפעלת תהליך עבודה באמצעות Eventarc ו-Terraform.
הצגת טריגר
אפשר לאשר את יצירת הטריגר באמצעות רשימת הטריגרים של Eventarc ב-Google Cloud CLI או במסוף Google Cloud .
המסוף
נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
בדף הזה מפורטים הטריגרים בכל המיקומים, כולל פרטים כמו שמות, אזורים, ספקי אירועים, יעדים ועוד.
כדי לסנן את הטריגרים:
- לוחצים על מסנן או על השדה הפעלת מסנן.
- ברשימה Properties, בוחרים אפשרות לסינון הטריגרים.
אפשר לבחור נכס אחד או להשתמש באופרטור הלוגי
ORכדי להוסיף עוד נכסים.כדי למיין את הטריגרים, לוחצים על מיון לצד כותרת של עמודה נתמכת.
gcloud
מריצים את הפקודה הבאה כדי להציג את הטריגרים:
gcloud eventarc triggers list --location=-
הפקודה הזו מציגה רשימה של הטריגרים בכל המיקומים, וכוללת פרטים כמו שמות, סוגים, יעדים וסטטוסים.