אפשר לנהל טריגרים באמצעות מסוף 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 .
ברשימת הטריגרים, לוחצים על הטריגר שרוצים לראות את הפרטים שלו.
בדף פרטי הטריגר מוצגים פרטי הטריגר, כמו שם, אזור, ספק האירוע, סוג האירוע, סוג התוכן של נתוני האירוע ויעד.
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
כדי לתאר טריגר בפרויקט ובמיקום מסוימים, משתמשים ב-method 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"
מחליפים את מה שכתוב בשדות הבאים:
-
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.
לדוגמה, כדי לעדכן את חשבון השירות של טריגר:
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: אופציונלי. הקידוד של מטען הנתונים של האירוע. בהתאם לספק האירוע, הקידוד יכול להיותapplication/jsonאוapplication/protobuf. -
UPDATE_FIELDS: אופציונלי. רשימה מופרדת בפסיקים של השדות שרוצים לעדכן. אם לא תציינו שדות, כל השדות שצוינו בבקשה יעודכנו. לדוגמה:serviceAccount,destination
תוכן בקשת JSON:
{
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
"destination": DESTINATION,
"eventFilters" EVENT_FILTER,
"eventDataContentType": "CONTENT_TYPE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של
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, הפעולה עדיין מתבצעת.