אפשר לנהל טריגרים באמצעות מסוף Google Cloud או Google Cloud CLI בטרמינל או ב-Cloud Shell. אפשר גם לנהל טריגרים באמצעות Eventarc API.
הצגת רשימת הטריגרים
אתם יכולים לראות את כל הטריגרים, לסנן אותם ולמיין אותם בכל המיקומים.
המסוף
נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
הרשימה הזו כוללת את כל הטריגרים בפרויקט לכל המיקומים, וגם פרטים כמו שם הטריגר, האזור, ספק האירועים, היעד וסוג האירוע.
כדי לסנן את הטריגרים לפי מאפיין ספציפי:
- לוחצים על התיבה מסנן.
- ברשימה מאפיינים, בוחרים אפשרות לסינון הטריגרים – לדוגמה, שם או ערוץ אירועים.
אפשר לבחור נכס אחד או להשתמש באופרטור הלוגי
ORכדי להוסיף עוד נכסים לסינון.כדי למיין את הטריגרים, לוחצים על מיון לצד כותרת העמודה הרלוונטית.
אפשר למיין רק חלק מהעמודות – למשל, שם, אזור או ערוץ אירועים.
gcloud
gcloud eventarc triggers list --location=-
הפקודה הזו מציגה את שם הטריגר, הסוג, היעד והסטטוס בכל המיקומים.
REST
כדי להציג רשימה של טריגרים בפרויקט ובמיקום מסוימים, משתמשים בשיטה projects.locations.triggers.list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצרים הטריגרים, לדוגמהus-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופעים של Trigger והתגובה תהיה דומה לדוגמה הבאה:
{
"triggers": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME",
"uid": "d700773a-698b-47b2-a712-2ee10b690062",
"createTime": "2022-12-06T22:44:04.744001514Z",
"updateTime": "2022-12-06T22:44:09.116459550Z",
"eventFilters": [
{
"attribute": "type",
"value": "google.cloud.pubsub.topic.v1.messagePublished"
}
],
"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
"destination": {
"workflow": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME"
},
"transport": {
"pubsub": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"subscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
}
}
},
{
object (Trigger)
}
],
"nextPageToken": string,
"unreachable": [
string
]
}
תיאור של טריגר
אתם יכולים לתאר טריגר במיקום ספציפי.
המסוף
נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
ברשימת הטריגרים, לוחצים על הטריגר שרוצים לראות את הפרטים שלו.
בדף פרטי הטריגר מוצגים פרטי הטריגר, כמו שם, אזור, ספק האירוע, סוג האירוע, סוג התוכן של נתוני האירוע ויעד.
אם יעד האירוע הוא Cloud Run, מצוין אם מדיניות ניסיון חוזר מופעלת או מושבתת.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
TRIGGER: המזהה של הטריגר או מזהה מלא. -
LOCATION: המיקום של טריגר Eventarc.
הפקודה הזו מחזירה מידע על הטריגר, שדומה לזה:
createTime: '2023-03-16T13:40:44.889670204Z'
destination:
cloudRun:
path: /
region: us-central1
service: hello
eventDataContentType: application/protobuf
eventFilters:
- attribute: serviceName
value: cloudscheduler.googleapis.com
- attribute: methodName
value: google.cloud.scheduler.v1.CloudScheduler.DeleteJob
- attribute: type
value: google.cloud.audit.log.v1.written
name: projects/project-name/locations/us-central1/triggers/name-of-trigger
serviceAccount: project-number-compute@developer.gserviceaccount.com
transport:
pubsub:
subscription: projects/project-name/subscriptions/eventarc-us-central1-name-of-trigger-sub-034
topic: projects/project-name/topics/eventarc-us-central1-name-of-trigger-931
REST
כדי לתאר טריגר בפרויקט ובמיקום מסוימים, משתמשים בשיטה projects.locations.triggers.get.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
TRIGGER_NAME: השם של הטריגר שרוצים לתאר. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצר הטריגר, לדוגמהus-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Trigger, למשל:
{
"name": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME",
"uid": "d700773a-698b-47b2-a712-2ee10b690062",
"createTime": "2022-12-06T22:44:04.744001514Z",
"updateTime": "2022-12-06T22:44:09.116459550Z",
"eventFilters": [
{
"attribute": "type",
"value": "google.cloud.pubsub.topic.v1.messagePublished"
}
],
"serviceAccount": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
"destination": {
"workflow": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME"
},
"transport": {
"pubsub": {
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"subscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
}
}
}
אם התנאי של הטריגר מצביע על בעיה בנושא Pub/Sub, כדאי לעיין במאמר הטריגר לא מעביר אירועים.
עדכון טריגר
אפשר לעדכן טריגר ליעדים של Cloud Run, Google Kubernetes Engine (GKE) ו-Workflows. בהתאם ליעד, אפשר לעדכן שדות ספציפיים.
המסוף
נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
ברשימת הטריגרים, לוחצים על הטריגר שרוצים לראות את הפרטים שלו.
בדף פרטי הטריגר, לוחצים על עריכה.
עורכים את השדות לפי הצורך ולוחצים על שמירה.
שימו לב שאי אפשר לעדכן שדות לא זמינים כמו ספק האירועים ויעד האירועים. מידע נוסף על השדות זמין בהוראות לשימוש במסוף עבור ספק, סוג אירוע ויעד ספציפיים.
gcloud
Cloud Run
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-run-region=NEW_REGION \ --destination-run-service=NEW_SERVICE \ --destination-run-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE" \ --max-retry-attempts=1
מחליפים את מה שכתוב בשדות הבאים:
-
TRIGGER: המזהה של הטריגר או מזהה מלא. -
LOCATION: המיקום של טריגר Eventarc.
אפשר לעדכן את כל אחד מהפרטים הבאים:
-
NEW_EVENT_FILTERS: המסנן שמשמש להגדרת ניתוב האירועים של הטריגר. לדוגמה, אפשר לעדכן אתmethodName=storage.objects.createל-methodName=storage.objects.delete. שימו לב: אחרי שיוצרים טריגר, אי אפשר לשנות אתtypeמסנן האירועים. כדי להגדיר טריגר לסוג אחר של אירוע, צריך ליצור טריגר חדש. -
NEW_SERVICE_ACCOUNT: כתובת האימייל בחשבון השירות בניהול זהויות והרשאות גישה (IAM) שמשויך לטריגר. -
NEW_REGION: האזור שבו נמצא שירות היעד של Cloud Run. -
NEW_SERVICE: השם של שירות Cloud Run שמקבל את האירועים של הטריגר. -
NEW_PATH: הנתיב היחסי בשירות היעד של Cloud Run שאליו יש לשלוח את האירועים של הטריגר. -
NEW_EVENT_DATA_TYPE: הקידוד של מטען הייעודי (payload) של האירוע. בהתאם לספק האירוע, הקידוד יכול להיותapplication/jsonאוapplication/protobuf. - אופציונלי: אפשר להשתמש בדגל
--max-retry-attemptsכדי לציין ניסיון מסירה יחיד של הודעת אירוע ללא ניסיונות חוזרים. הערך החוקי היחיד הוא1. הדגל הזה רלוונטי רק ליעדים של Cloud Run (כולל פונקציות Cloud Run). כדי לבטל את ההגדרה, משתמשים בדגל--clear-max-retry-attempts. מידע נוסף זמין במאמר בנושא ניסיון חוזר לשליחת אירועים.
לדוגמה, כדי לעדכן את חשבון השירות של טריגר:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
הפקודה הזו מעדכנת את חשבון השירות של טריגר בשם my-cloud-run-trigger ל-new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com.
GKE
הערה: הסעיף הזה חל גם על נקודות הקצה הציבוריות של שירותים פרטיים וציבוריים שפועלים באשכול GKE.
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --destination-gke-namespace=NEW_NAMESPACE \ --destination-gke-service=NEW_SERVICE \ --destination-gke-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE"
מחליפים את מה שכתוב בשדות הבאים:
-
TRIGGER: המזהה של הטריגר או מזהה מלא. -
LOCATION: המיקום של טריגר Eventarc.
אפשר לעדכן את כל אחד מהפרטים הבאים:
-
NEW_NAMESPACE: מרחב השמות שבו פועל שירות היעד של GKE. -
NEW_SERVICE: השם של שירות GKE שמקבל את האירועים של הטריגר. -
NEW_PATH: הנתיב היחסי בשירות GKE של היעד שאליו צריך לשלוח את האירועים של הטריגר. -
NEW_EVENT_DATA_TYPE: הקידוד של מטען הייעודי (payload) של האירוע. בהתאם לספק האירוע, הקידוד יכול להיותapplication/jsonאוapplication/protobuf.
לדוגמה, כדי לעדכן את שירות מקבל האירועים של טריגר:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
הפקודה הזו מעדכנת את שירות מקבל האירועים של טריגר בשם
my-gke-trigger לשירות GKE בשם
helloworld-events.
Workflows
gcloud eventarc triggers update TRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-workflow=NEW_DESTINATION_WORKFLOW \ --destination-workflow-location=NEW_DESTINATION_WORKFLOW_LOCATION \ --event-data-content-type="NEW_EVENT_DATA_TYPE"
מחליפים את מה שכתוב בשדות הבאים:
-
TRIGGER: המזהה של הטריגר או מזהה מלא. -
LOCATION: המיקום של טריגר Eventarc.
אפשר לעדכן את כל אחד מהפרטים הבאים:
-
NEW_EVENT_FILTERS: המסנן שמשמש להגדרת ניתוב האירועים של הטריגר. לדוגמה, אפשר לעדכן אתmethodName=storage.objects.createל-methodName=storage.objects.delete. שימו לב: אחרי שיוצרים טריגר, אי אפשר לשנות אתtypeמסנן האירועים. אם רוצים להשתמש בסוג אירוע אחר, צריך ליצור טריגר חדש. -
NEW_SERVICE_ACCOUNT: כתובת האימייל בחשבון השירות בניהול זהויות והרשאות גישה (IAM) שמשויך לטריגר. -
NEW_DESTINATION_WORKFLOW: המזהה של תהליך העבודה שנפרס ומקבל את האירועים מהטריגר. -
NEW_DESTINATION_WORKFLOW_LOCATION: המיקום שבו פריסת זרימת העבודה של היעד. -
NEW_EVENT_DATA_TYPE: הקידוד של מטען הייעודי (payload) של האירוע. בהתאם לספק האירוע, הקידוד יכול להיותapplication/jsonאוapplication/protobuf.
לדוגמה, כדי לעדכן את חשבון השירות של טריגר:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
הפקודה הזו מעדכנת את חשבון השירות של טריגר בשם my-workflows-trigger ל-new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com.
REST
כדי לעדכן טריגר קיים, משתמשים בשיטה projects.locations.triggers.patch, ואפשר גם להשתמש בפרמטר השאילתה updateMask כדי לציין רשימה של שדות לעדכון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
TRIGGER_NAME: השם של הטריגר שרוצים לעדכן. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצר הטריגר, לדוגמהus-central1. -
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: אופציונלי. כתובת האימייל של חשבון השירות של ניהול הזהויות והרשאות הגישה (IAM) שמשויך לטריגר. -
DESTINATION: אופציונלי. מציין את יעד השליחה של האירוע ומכיל מופע שלDestination. לדוגמה:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}או
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}} -
EVENT_FILTER: אופציונלי. מאפייני האירוע שלפיהם יתבצע הסינון. אפשר לעדכן רק את סוג השיטה של טריגרים של יומני ביקורת ב-Cloud. לדוגמה:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}שימו לב שאי אפשר לעדכן את סוגי השיטות ליעדי GKE.
-
CONTENT_TYPE: אופציונלי. הקידוד של מטען הייעודי (payload) של האירוע. בהתאם לספק האירוע, הקידוד יכול להיותapplication/jsonאוapplication/protobuf. -
RETRY_POLICY: אופציונלי. מספר הניסיונות המקסימלי לשליחת אירועים. הערך התקין הוא1, שמציין ניסיון מסירה יחיד ללא ניסיונות חוזרים, והוא חל רק על יעדי Cloud Run (כולל פונקציות Cloud Run). לדוגמה:
מידע נוסף זמין במאמר בנושא ניסיון חוזר לשליחת אירועים.{"retryPolicy": {"maxAttempts": 1}} -
UPDATE_FIELDS: אופציונלי. רשימה מופרדת בפסיקים של השדות שרוצים לעדכן. אם לא מציינים שדות, כל השדות שצוינו בבקשה יעודכנו. לדוגמה:serviceAccount,destination
תוכן בקשת JSON:
{
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
"destination": DESTINATION,
"eventFilters": EVENT_FILTER,
"eventDataContentType": "CONTENT_TYPE",
"retryPolicy": RETRY_POLICY
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
"createTime": "2024-01-25T17:17:45.782370139Z",
"target": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME",
"verb": "update",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
אם הערך של "done" הוא false, הפעולה עדיין מתבצעת.
מחיקת טריגר
אפשר למחוק טריגר.
המסוף
נכנסים לדף Triggers ב-Eventarc במסוף Google Cloud .
בוחרים את הטריגר ולוחצים על מחיקה.
gcloud
gcloud eventarc triggers delete TRIGGER
מחליפים את TRIGGER במזהה של הטריגר או במזהה מלא.
REST
כדי למחוק טריגר עם שם ספציפי, משתמשים בשיטה
projects.locations.triggers.delete.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצר הטריגר, לדוגמהus-central1. -
TRIGGER_NAME: השם של הטריגר שרוצים למחוק.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
"createTime": "2024-01-24T17:53:52.834876290Z",
"target": "projects/PROJECT_ID/locations/LOCATION/triggers/TRIGGER_NAME",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
אם הערך של "done" הוא false, הפעולה עדיין מתבצעת.