רישום מזהה מינוי לאפיק (bus) מסוים. ההרשמה מגדירה את קריטריוני ההתאמה שקובעים אילו הודעות ינותבו ליעד. הוא גם מציין את צינור העיבוד שאליו ינותבו ההודעות התואמות. צינור מאפשר להגדיר יעד וגם מספק אפשרות להמיר אירועים תואמים לפני העברתם ליעד.
שימו לב לנקודות הבאות:
- הצינור וההרשמה צריכים להיות באותו Google Cloud הפרויקט. (האוטובוס שאליו נרשמים יכול להיות באותו פרויקט או בפרויקט אחר).
- אפשר להשתמש בצינור אחד לכמה הרשמות.
- יכול להיות רק יעד אחד להודעות שמועברות בצינור.
לפני שמתחילים
לפני שמגדירים צינור או רישום, צריך כבר ליצור Eventarc Advanced bus.
התפקידים הנדרשים
תפקיד בממשק לניהול זהויות והרשאות גישה (IAM) מכיל קבוצה של הרשאות שמאפשרות לבצע פעולות ספציפיות במשאבים של Google Cloud . כדי ליצור צינור ורישום להעברת הודעות, נדרשים התפקידים וההרשאות הבאים:
- כדי לקבל את ההרשאה שנדרשת ליצירת צינור, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Eventarc Developer (
roles/eventarc.developer) בפרויקט של הצינור. התפקיד המוגדר מראש הזה מכיל את ההרשאהeventarc.pipelines.create, שנדרשת ליצירת צינור. - כדי לקבל את ההרשאה שנדרשת ליצירת רישום, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Eventarc Developer (
roles/eventarc.developer) בפרויקט הרישום. התפקיד המוגדר מראש הזה כולל את ההרשאהeventarc.enrollments.create, שנדרשת כדי ליצור הרשמה. - כדי לקבל את ההרשאה שנדרשת לשימוש באפיק, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Eventarc Message Bus User (
roles/eventarc.messageBusUser) בפרויקט האפיק. התפקיד המוגדר מראש הזה כולל את ההרשאהeventarc.buses.use, שנדרשת כדי להשתמש באוטובוס.
מידע נוסף על מתן תפקידים מופיע במאמר ניהול הגישה. יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת הרשמה ופייפליין
אפשר ליצור צינור מכירות ורישום בדרכים הבאות:
- במסוף Google Cloud
- באמצעות Google Cloud CLI בטרמינל או ב-Cloud Shell
- שליחת בקשה ל-Eventarc API
המסוף
במסוף Google Cloud אפשר ליצור את צינור הנתונים ואת ההרשמה בו-זמנית בדף Pipelines.
כדי ליצור הרשמה, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.
לוחצים על Create pipeline.
בחלונית Pipeline details:
- מזינים שם צינור. זה המזהה של צינור עיבוד הנתונים.
- ברשימה Region, בוחרים אזור לפריסת צינור הנתונים. צריך ליצור את הפייפליין באותו אזור שבו נמצא האפיק (bus). מידע נוסף זמין במאמר בנושא מיקומים מתקדמים של Eventarc.
- אופציונלי: ברשימה חומרת היומן, בוחרים את רמת החומרה המינימלית של האירועים שמתוארים ברשומות היומן. ברירת המחדל היא ללא. מידע נוסף זמין במאמר
LogSeverity. - אופציונלי: בקטע Retry policy (מדיניות ניסיון חוזר), אפשר לשנות את הגדרת ברירת המחדל כדי לנסות לשלוח אירועים מחדש.
- בקטע הצפנה, מאשרים את ברירת המחדל Google-managed encryption key או בוחרים באפשרות מפתח Cloud KMS. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח (CMEK).
אם בוחרים באפשרות מפתח Cloud KMS, מבצעים את הפעולות הבאות:
ברשימה Key type (סוג המפתח), בוחרים שיטה לניהול המפתחות.
אתם יכולים לנהל את המפתחות באופן ידני או להשתמש ב-Autokey, שמאפשר לכם ליצור מחזיקי מפתחות ומפתחות לפי דרישה. אם האפשרות Autokey מושבתת, היא עדיין לא משולבת עם סוג המשאב הנוכחי.
בקטע בחירת מפתח בניהול הלקוח, בוחרים מפתח.
שימו לב: כדי לראות את המפתחות לניהול הלקוח, צריך לבחור אזור.
אופציונלי: כדי להזין ידנית את שם המשאב של המפתח, ברשימה Select a customer-managed key (בחירת מפתח בניהול הלקוח), לוחצים על Enter key manually (הזנת מפתח באופן ידני) ומזינים את שם המפתח בפורמט שצוין.
אם מתבקשים, מקצים את התפקיד
cloudkms.cryptoKeyEncrypterDecrypterלסוכן השירות של Eventarc.
אופציונלי: כדי להוסיף תוויות, לוחצים על הוספת תווית. תוויות הן צמדי מפתח/ערך שעוזרים לכם לארגן אתGoogle Cloud המשאבים. מידע נוסף זמין במאמר מהן תוויות?
לוחצים על Continue.
בחלונית Enrollments:
- לוחצים על הוספת הרשמה.
- מזינים שם הרשמה.
- ברשימה Bus, בוחרים אוטובוס להרשמה.
בשדה CEL expression (ביטוי CEL), כותבים ביטוי הערכה באמצעות CEL. לדוגמה:
message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"שימו לב שהביטוי שמוגדר כברירת מחדל, true, מציין שכל ההודעות מנותבות ללא סינון.
לוחצים על סיום.
אפשר להוסיף עוד הרשמה או ללחוץ על המשך.
אופציונלי: בחלונית Event mediation (גישור אירועים), מבצעים את הפעולות הבאות או לוחצים על Continue (המשך):
- מסמנים את תיבת הסימון החלת טרנספורמציה.
ברשימה Inbound format (פורמט נכנס), בוחרים את הפורמט הרלוונטי.
חשוב לזכור שכאשר מחילים טרנספורמציה, חובה לציין פורמט נתונים נכנסים לצינור, וכל האירועים צריכים להתאים לפורמט הזה.
בפורמטים Avro או Protobuf, צריך לציין סכימה נכנסת. אפשר גם להעלות סכימה של נתונים נכנסים. מידע נוסף זמין במאמר בנושא פורמט של אירועים שהתקבלו.
בשדה CEL expression, כותבים ביטוי המרה באמצעות CEL.
לוחצים על Continue.
בחלונית Destination (יעד):
ברשימה סוג היעד, בוחרים את סוג היעד שאליו רוצים להפנות את ההודעות. בהתאם לסוג היעד, מבצעים את הפעולות הבאות:
נקודת קצה (endpoint) בפרוטוקול HTTP: מציינים את ה-URI של היעד. המארח יכול להיות כתובת IP סטטית שאפשר להקצות מרשת של ענן וירטואלי פרטי (VPC), או שם המארח של מערכת שמות דומיין (DNS) פנימית של שירות שאפשר לפתור באמצעות Cloud DNS.
לדוגמה, אתם יכולים לטרגט כתובת URL של שירות Cloud Run שתקבל אירועים כבקשות HTTP
POST. משתמשים בכתובת ה-URLrun.appשהוקצתה אוטומטית ויציבה, שמופיעה בפריסה הראשונה של השירות שמארח Cloud Run. לחלופין, אפשר לטרגט טבלת BigQuery שתקבל אירועים כבקשות HTTPPOST. מגדירים message binding כדי ליצור את בקשת ה-HTTP עבור BigQuery API. מידע נוסף זמין במאמר פרסום אירועים בטבלה ב-BigQuery.אפשר גם להשתמש בסוג היעד הזה כדי לציין נקודת קצה של HTTP לפונקציות Cloud Run (דור ראשון וגרסה נוכחית). כשמציינים טריגר HTTP לפונקציית Cloud Run, מוקצית לפונקציה כתובת URL שדרכה היא יכולה לקבל בקשות.
Eventarc Advanced bus: בוחרים Eventarc Advanced bus. ה-bus צריך להיות פרוס באותו פרויקט ואזור כמו הצינור.
תהליכי עבודה: בוחרים תהליך עבודה של Workflows. אפשר להפעיל ביצוע של תהליך עבודה, שהוא הרצה יחידה של הלוגיקה שמופיעה בהגדרת תהליך העבודה. תהליך העבודה צריך להיות פרוס באותו פרויקט שבו נמצא צינור העיבוד.
נושא Pub/Sub: בוחרים או יוצרים נושא Pub/Sub. צריך ליצור את הנושא לפני שאפשר להפנות אליו הודעות, והוא צריך להיות באותו פרויקט כמו צינור הנתונים. אם משתמשים בסכימת נושאים, חשוב להמיר את הודעת האירוע בצורה מתאימה.
שירות Cloud Run (דרך HTTP): בוחרים שירות Cloud Run שיקבל אירועים כבקשות HTTP
POSTשנשלחות לנתיב כתובת ה-URL הבסיסית שלו (/). אפשר גם לציין נתיב יחסי של כתובת URL בשירות היעד שאליו יישלחו האירועים. מידע נוסף זמין במדריך למתחילים.משימה ב-Cloud Run (דרך HTTP): בוחרים משימה ב-Cloud Run שתקבל אירועים כבקשות HTTP
POST. מגדירים message binding שממיר את האירוע לפורמט שנדרש על ידי Cloud Run Admin API. מידע נוסף זמין במאמר בנושא פרסום אירועים למשימת Cloud Run.
אם רלוונטי, בוחרים פורמט מהרשימה Outbound format (פורמט יוצא).
שימו לב: אם לא מציינים פורמט נתונים נכנסים לצינור, אי אפשר להגדיר פורמט נתונים יוצאים.
אם רלוונטי, מחילים קישור להודעה. מידע נוסף זמין במאמר בנושא הגדרת קשירת הודעה.
כדי להפעיל את האימות, מסמנים את תיבת הסימון הפעלת האימות.
ברשימה Auth header, בוחרים את סוג הטוקן שרוצים ליצור ולצרף ככותרת
Authorizationבבקשת ה-HTTP:באופן כללי, צריך להשתמש באסימון OAuth רק כשקוראים ל-Google APIs שמתארחים ב-
*.googleapis.com. אפשר גם לציין את היקף ההרשאות של הטוקן הזה. אם לא תציינו אותו, ברירת המחדל תהיהhttps://www.googleapis.com/auth/cloud-platform. בשירותיGoogle Cloud , מומלץ להשתמש בהיקףhttps://www.googleapis.com/auth/cloud-platform, שכולל את כל ממשקי Google Cloud API, יחד עם ניהול זהויות והרשאות גישה (IAM) לבקרת גישה פרטנית.חשוב לדעת שכל הבקשות לאפיק מתקדם אחר של Eventarc, ל-Pub/Sub או ל-Workflows חייבות לכלול כותרת הרשאה של HTTP עם אסימון OAuth שחתום על ידי Google עבור אחד מחשבונות השירות המורשים.
אפשר להשתמש באסימון OIDC בהרבה תרחישים, כולל בנקודות קצה שבהן אתם רוצים לאמת את האסימון בעצמכם. בנוסף, צריך לציין את הקהל שאליו מיועד האסימון הזה. בדרך כלל, היא צריכה להיות זהה לכתובת ה-URL של צינור היעד. אם לא מציינים כתובת URL, המערכת משתמשת בכתובת ה-URL המלאה, כולל פרמטרים של בקשות.
שימו לב: Cloud Run מבצע בדיקת IAM בכל בקשה, ואפשר להשתמש בהרשאה
run.routes.invokeכדי להגדיר מי יכול לגשת לשירות Cloud Run באחת מהדרכים הבאות:נותנים את ההרשאה לבחור חשבונות שירות או קבוצות כדי לאפשר גישה לשירות. כל הבקשות חייבות לכלול כותרת הרשאה של HTTP שמכילה אסימון OpenID Connect שחתום על ידי Google עבור אחד מחשבונות השירות המורשים.
נותנים את ההרשאה ל-allUsers כדי לאפשר גישה ציבורית.
מידע נוסף זמין במאמר בקרת גישה ל-Cloud Run.
ברשימה Service account, בוחרים את חשבון השירות שיפעיל את שירות היעד. אפשר גם ליצור חשבון שירות חדש.
כאן מציינים את כתובת האימייל בחשבון השירות ב-IAM שמשויך לפייפליין, ושנתתם לו בעבר תפקידים ספציפיים שנדרשים ל-Eventarc Advanced.
לוחצים על יצירה.
gcloud
כשמשתמשים ב-CLI של gcloud, קודם יוצרים את צינור הנתונים ואז יוצרים את ההרשמה באמצעות הפקודות המתאימות.
פייפליין
פותחים טרמינל.
יוצרים פייפליין באמצעות הפקודה
gcloud eventarc pipelines create:gcloud eventarc pipelines create PIPELINE_NAME \ --destinations=DESTINATION_KEY \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
PIPELINE_NAME: המזהה של צינור העיבוד או שם מוגדר במלואו
DESTINATION_KEY: זוגות של מפתח/ערך (לפחות אחד) להגדרת יעד לצינורצריך להגדיר רק אחד מהמפתחות הבאים:
http_endpoint_uri– URI של יעד. המארח יכול להיות כתובת IP סטטית שאפשר להקצות מרשת של ענן וירטואלי פרטי (VPC), או שם המארח של מערכת שמות דומיין (DNS) פנימית של שירות שאפשר לפתור באמצעות Cloud DNS. אופציונלי: מגדירים אתhttp_endpoint_message_binding_templateכדי לציין message binding.לדוגמה, אפשר להשתמש במפתח הזה כדי לטרגט כתובת URL של שירות Cloud Run שתקבל אירועים כבקשות HTTP
POST. משתמשים בכתובת ה-URL היציבה שהוקצתה אוטומטיתrun.appשמופיעה בפריסה הראשונה של השירות שמארח Cloud Run. אפשר גם לטרגט טבלה ב-BigQuery או משימה ב-Cloud Run. אם צריך, מגדירים קישור של הודעה כדי ליצור את בקשת ה-HTTP עבור ה-API של היעד. במשימות של Cloud Run, צריך להגדיר קישור של הודעה שממיר את האירוע לפורמט שנדרש על ידי Cloud Run Admin API.אפשר גם להשתמש בסוג היעד הזה כדי לציין נקודת קצה של HTTP לפונקציות Cloud Run (דור ראשון וגרסה נוכחית). כשמציינים טריגר HTTP לפונקציית Cloud Run, מוקצית לפונקציה כתובת URL שדרכה היא יכולה לקבל בקשות.
מידע נוסף זמין במדריכים למתחילים בנושא יעדי האירועים הבאים: טבלה ב-BigQuery, Cloud Run job ו-Cloud Run service.
message_bus– המזהה של אפיק Eventarc Advanced. ה-bus צריך להיות פרוס באותו פרויקט ואזור כמו הצינור.
pubsub_topic—המזהה של נושא Pub/Sub. צריך ליצור את הנושא לפני שאפשר להפנות אליו הודעות, ואם משתמשים בסכימת נושא, צריך להמיר את הודעת האירוע בצורה מתאימה.
workflow– המזהה של תהליך עבודה ב-Workflows. אפשר להפעיל הרצה של תהליך עבודה, שהיא הרצה יחידה של הלוגיקה שמופיעה בהגדרת תהליך העבודה. תהליך העבודה צריך להיות פרוס באותו פרויקט שבו נמצא צינור העיבוד.
כדי להפעיל אימות, אפשר להגדיר אחד מהמפתחות הבאים:
google_oidc_authentication_service_account– כתובת האימייל בחשבון השירות שמשמשת ליצירת אסימון OIDC שאפשר להשתמש בו בתרחישים רבים, כולל נקודות קצה שבהן אתם מתכוונים לאמת את האסימון בעצמכם. אופציונלי: אפשר להגדיר אתgoogle_oidc_authentication_audienceכדי לציין את הקהל שאליו האסימון הזה מיועד. באופן כללי, היא צריכה להיות זהה לכתובת ה-URL של צינור הנתונים של היעד. אם לא מציינים כתובת URL, המערכת משתמשת בכתובת ה-URL המלאה, כולל פרמטרים של בקשות.שימו לב: Cloud Run מבצע בדיקת IAM בכל בקשה, ואפשר להשתמש בהרשאה
run.routes.invokeכדי להגדיר מי יכול לגשת לשירות Cloud Run באחת מהדרכים הבאות:נותנים את ההרשאה לבחור חשבונות שירות או קבוצות כדי לאפשר גישה לשירות. כל הבקשות חייבות לכלול כותרת הרשאה של HTTP שמכילה אסימון OpenID Connect שחתום על ידי Google עבור אחד מחשבונות השירות המורשים.
נותנים את ההרשאה ל-allUsers כדי לאפשר גישה ציבורית.
מידע נוסף זמין במאמר בקרת גישה ל-Cloud Run .
oauth_token_authentication_service_account—כתובת האימייל בחשבון השירות שמשמש ליצירת אסימון OAuth, שאמור לשמש בדרך כלל רק כשקוראים ל-Google APIs שמתארחים ב-*.googleapis.com. אפשר גם להגדיר אתoauth_token_authentication_scopeכדי לציין את היקף האסימון הזה. אחרת, ברירת המחדל היאhttps://www.googleapis.com/auth/cloud-platform. בשירותיGoogle Cloud , מומלץ להשתמש בהיקףhttps://www.googleapis.com/auth/cloud-platform, שכולל את כל ממשקי Google Cloud API, יחד עם ניהול זהויות והרשאות גישה (IAM) לבקרת גישה פרטנית.חשוב לדעת שכל הבקשות לאפיק מתקדם אחר של Eventarc, ל-Pub/Sub או ל-Workflows חייבות לכלול כותרת הרשאה של HTTP עם אסימון OAuth שחתום על ידי Google עבור אחד מחשבונות השירות המורשים.
אופציונלי: אפשר להגדיר אחד מהמפתחות הבאים:
output_payload_format_avro_schema_definitionoutput_payload_format_jsonoutput_payload_format_protobuf_schema_definitionשימו לב: אם מגדירים פורמט פלט, צריך לציין גם פורמט קלט (ראו את האפשרויות הבאות של דגלי
input-payload-format-*).
אופציונלי: אם לא משתמשים ב-
http_endpoint_uriבתור מפתח יעד , אפשר להגדיר את המפתחות הבאים:-
project– מזהה הפרויקט של משאב היעד Google Cloud . כברירת מחדל, נעשה שימוש במזהה הפרויקט של צינור העיבוד. -
location– המיקום של משאב היעד. כברירת מחדל, נעשה שימוש במיקום של צינור העיבוד.
LOCATION: a supported Eventarc Advanced regionלחלופין, אפשר להגדיר את מאפיין המיקום של ה-CLI של gcloud:
gcloud config set eventarc/location LOCATION
אופציונלי: אפשר להשתמש בדגלים הבאים:
-
--asyncכדי לחזור מהפקודה באופן מיידי, בלי לחכות שהפעולה תסתיים. -
--crypto-keyכדי לציין את השם המלא של מפתח הצפנה בניהול הלקוח. אם לא מציינים מפתח,נעשה שימוש ב- Google-owned and managed keys . -
--logging-configכדי להגדיר את רמת הרישום ביומן, שצריכה להיות אחת מהאפשרויות הבאות:NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.
--mediationsכדי להחיל טרנספורמציה.transformation_templateהוא התבנית היחידה שנתמכת, ונתמך רק תהליך גישור אחד לכל צינור. לדוגמה:--mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'שימו לב שאם אתם מחילים טרנספורמציה, חובה להשתמש באחד מהדגלים הבאים כדי לציין פורמט קלט.
אחת מהאפשרויות הבאות כדי לציין פורמט קלט:
--input-payload-format-avro-schema-definition--input-payload-format-json--input-payload-format-protobuf-schema-definition
--max-retry-attempts,--max-retry-delayוגם--min-retry-delayלניסיון חוזר של אירועים
לדוגמה:
gcloud eventarc pipelines create my-pipeline \ --destinations=http_endpoint_uri='https://example-endpoint.com',oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \ --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \ --location=us-central1 \ --asyncפרטים נוספים ודוגמאות זמינים במסמכי התיעוד של ה-CLI של gcloud.
-
הרשמה
פותחים טרמינל.
יוצרים הרשמה באמצעות הפקודה
gcloud eventarc enrollments create:gcloud eventarc enrollments create ENROLLMENT_NAME \ --cel-match=MATCH_EXPRESSION \ --destination-pipeline=PIPELINE_NAME \ --message-bus=BUS_NAME \ --message-bus-project=PROJECT_ID \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
ENROLLMENT_NAME: המזהה של ההרשמה או שם מוגדר במלואו -
MATCH_EXPRESSION: ביטוי ההתאמה להרשמה הזו באמצעות CEL – לדוגמה,"message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" -
PIPELINE_NAME: המזהה של צינור היעד או השם המלא שלו להרשמה הזו -
BUS_NAME: המזהה של מרכז הבקרה המתקדם של Eventarc או השם המלא שלו -
PROJECT_ID: מזהה הפרויקט Google Cloud של האוטובוס
LOCATION: a supported Eventarc Advanced regionלחלופין, אפשר להגדיר את מאפיין המיקום של ה-CLI של gcloud:
gcloud config set eventarc/location LOCATION
אופציונלי: אפשר להשתמש בדגל הבא:
-
--asyncכדי לחזור מהפקודה באופן מיידי, בלי לחכות שהפעולה תסתיים
לדוגמה:
gcloud eventarc enrollments create my-enrollment \ --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \ --destination-pipeline=my-pipeline \ --message-bus=my-message-bus \ --message-bus-project=another-google-cloud-project \ --location=us-central1 \ --async-
API בארכיטקטורת REST
כששולחים בקשות ל-Eventarc API, קודם יוצרים את צינור הנתונים ואז יוצרים את ההרשמה.
פייפליין
כדי ליצור צינור, משתמשים ב-method projects.locations.pipelines.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
name: שם המשאב המלא של צינור העיבוד בפורמטprojects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: Google Cloud מזהה הפרויקט של צינור העיבוד -
LOCATION: האזור שבו צינור עיבוד הנתונים יופעל. לדוגמה:us-central1 -
PIPELINE_NAME: השם של הפייפליין
-
-
LABEL_KEYו-LABEL_VALUE: אופציונליים. מיפוי של צמדי מפתח/ערך של תוויות שעוזרים לארגן את Google Cloud המשאבים שלכם. מידע נוסף זמין במאמר מהן תוויות? -
ANNOTATION_KEYו-ANNOTATION_VALUE: אופציונליים. map של צמדי מפתח/ערך של הערות בטקסט חופשי. אפשר להשתמש בהם כדי לצרף מידע שרירותי שמשויך למשאב. מידע נוסף זמין במאמר בנושא הערות. -
LOG_SEVERITY: אופציונלי. רמת החומרה המינימלית של האירוע שמתואר ברשומה ביומן. אחת מהאפשרויות הבאות:NONE, DEBUG,INFO, NOTICE, WARNING, ERROR,CRITICAL, ALERT, EMERGENCY. ערך ברירת המחדל הואNONE. מידע נוסף זמין במאמרLogSeverity. -
destinations: היעד שאליו יועברו ההודעות. אופציונלי: אפשר להגדיר אתmessageBindingTemplateכדי לציין message binding. מידע נוסף זמין במאמר בנושאDestination. יש תמיכה רק ביעד אחד:-
httpEndpoint: URI של יעד (HTTP_URI). המארח יכול להיות כתובת IP סטטית שאפשר להקצות מרשת של ענן וירטואלי פרטי (VPC), או שם המארח של מערכת שמות דומיין (DNS) פנימית של שירות שאפשר לפתור באמצעות Cloud DNS.לדוגמה, אפשר לטרגט כתובת URL של שירות Cloud Run שיקבל אירועים כבקשות HTTP
POST. משתמשים בכתובת ה-URL היציבה שהוקצתה אוטומטיתrun.appשמופיעה בפריסה הראשונה של השירות שמארח Cloud Run. לחלופין, אפשר לטרגט טבלה ב-BigQuery או משימה ב-Cloud Run. אם צריך, מגדירים קשירת הודעה כדי ליצור את בקשת ה-HTTP עבור ה-API של היעד. במשימות של Cloud Run, צריך להגדיר קשירת הודעות שממירה את האירוע לפורמט שנדרש על ידי Cloud Run Admin API.אפשר גם להשתמש בסוג היעד הזה כדי לציין נקודת קצה (endpoint) של HTTP לפונקציות Cloud Run (דור ראשון וגרסה נוכחית). כשמציינים טריגר HTTP לפונקציית Cloud Run, מוקצית לפונקציה כתובת URL שדרכה היא יכולה לקבל בקשות.
מידע נוסף זמין במדריכים למתחילים בנושא יעדי האירועים הבאים: טבלה ב-BigQuery, משימת Cloud Run, ושירות Cloud Run.
-
messageBus: Eventarc Advanced bus. האוטובוס צריך להיות פרוס באותו פרויקט ובאותו אזור כמו צינור הנתונים. -
topic: נושא Pub/Sub שצריך ליצור קודם באותו פרויקט כמו צינור הנתונים. אם משתמשים בסכימת נושא, חשוב להמיר את הודעת האירוע בצורה מתאימה. -
workflow: a Workflows workflow. אפשר להפעיל ביצוע של תהליך עבודה, שהוא הרצה יחידה של הלוגיקה שמופיעה בהגדרת תהליך העבודה. תהליך העבודה צריך להיות פרוס באותו פרויקט שבו נמצא צינור העיבוד.
-
-
SERVICE_ACCOUNT_EMAIL: השם של כתובת האימייל בחשבון השירות שמשמש ליצירת אסימון OIDC שאפשר להשתמש בו בתרחישים רבים, כולל נקודות קצה שבהן אתם מתכוונים לאמת את האסימון בעצמכם. אופציונלי: אפשר להגדיר אתaudienceכדי לציין את הקהל שאליו מיועד האסימון הזה. בדרך כלל, היא צריכה להיות זהה לכתובת ה-URL של צינור ההפקה של היעד. אם לא מציינים כתובת URL, המערכת משתמשת בכתובת ה-URL המלאה, כולל פרמטרים של בקשות.לחלופין, אפשר להשתמש ב-
oauthTokenכדי לציין את כתובת האימייל בחשבון השירות שמשמש ליצירת טוקן OAuth. בדרך כלל, מומלץ להשתמש בטוקן הזה רק כשקוראים ל-Google APIs שמתארחים ב-*.googleapis.com. אופציונלי: אפשר להגדיר אתscopeכדי לציין את היקף האסימון הזה. אחרת, ערך ברירת המחדל הואhttps://www.googleapis.com/auth/cloud-platform. בשירותי Google Cloud, מומלץ להשתמש בהיקףhttps://www.googleapis.com/auth/cloud-platform, שכולל את כל ממשקי Google Cloud API, יחד עם ניהול זהויות והרשאות גישה (IAM), שמספק בקרת גישה פרטנית.חשוב לדעת: לכל הבקשות לאפיקוס Eventarc Advanced אחר, ל-Pub/Sub או ל-Workflows צריך להיות כותרת הרשאה של HTTP שמכילה אסימון OAuth שחתום על ידי Google לאחד מחשבונות השירות המורשים.
תוכן בקשת JSON:
{
"name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
"loggingConfig": {"logSeverity":"LOG_SEVERITY"},
"destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},
"authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה בהצלחה, גוף התגובה יכיל מופע חדש של 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/pipelines/PIPELINE_NAME",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
הרשמה
כדי ליצור הרשמה, משתמשים בשיטה projects.locations.enrollments.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENROLLMENT_NAME: השם המוצג של ההרשמה, לדוגמה,my_enrollment. -
MATCH_EXPRESSION: ביטוי CEL שמזהה את ההודעות שההרשמה הזו חלה עליהן. לדוגמה,message.type == 'hello-world-type'. -
destination: שם המשאב המלא של צינור היעד בפורמטprojects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: Google Cloud מזהה הפרויקט של צינור העיבוד -
LOCATION: האזור שבו צינור עיבוד הנתונים נפרס. לדוגמה,us-central1. -
PIPELINE_NAME: השם של הפייפליין
-
-
message_bus: שם המשאב המלא של האוטובוס שמזהה את מקור ההודעות בפורמטprojects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME.מחליפים את מה שכתוב בשדות הבאים:
-
BUS_PROJECT_ID: Google Cloud מזהה הפרויקט של פרויקט האוטובוס -
BUS_LOCATION: האזור שבו האוטובוס פרוס – לדוגמה,us-central1 BUS_NAME: השם של אפיק ההודעות (message bus)
-
תוכן בקשת JSON:
{
"display_name": "ENROLLMENT_NAME",
"cel_match": "MATCH_EXPRESSION",
"message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
"destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה בהצלחה, גוף התגובה יכיל מופע חדש של 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/enrollments/ENROLLMENT_NAME",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
הצגת רשימת ההרשמות
אפשר לראות את ההרשמות בדרכים הבאות:
- במסוף Google Cloud
- שימוש ב-CLI של gcloud בטרמינל או ב-Cloud Shell
שליחת בקשה ל-Eventarc API
המסוף
כדי לראות את רשימת ההרשמות לצינור ספציפי, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.
לוחצים על שם צינור הנתונים שרוצים להציג את ההרשמות שלו.
ייפתח הדף Pipeline details.
בכרטיסייה Enrollments (הרשמות), מופיעות כל ההרשמות שמשויכות לצינור.
gcloud
פותחים טרמינל.
כדי לראות את רשימת ההרשמות, משתמשים בפקודה
gcloud eventarc enrollments list:gcloud eventarc enrollments list \ --location=LOCATION
מחליפים את
LOCATIONבאזור נתמך של Eventarc Advanced.
API בארכיטקטורת REST
כדי להציג רשימה של הרשמות, משתמשים בשיטה projects.locations.enrollments.list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצרים הרישומים – לדוגמה,us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופעים של Enrollment והתגובה תהיה דומה לדוגמה הבאה:
{
"enrollments": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
"uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
"createTime": "2025-03-26T17:57:25.214845320Z",
"updateTime": "2025-03-26T17:57:45.136172180Z",
"celMatch": "message.type == \"hello-world-type\"",
"messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
"destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
},
{...}
]
}
מחיקת הרשמה
יש כמה דרכים למחוק הרשמה:
- במסוף Google Cloud
- שימוש ב-CLI של gcloud בטרמינל או ב-Cloud Shell
שליחת בקשה ל-Eventarc API
המסוף
כדי למחוק רישום, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.
לוחצים על שם צינור המכירות שממנו רוצים למחוק את ההרשמה.
נפתחת החלונית Pipeline details.
לוחצים על עריכה .
לוחצים על Continue.
החלונית הרשמות תיפתח.
בפריט ההרשמה שרוצים למחוק, לוחצים על סמל המחיקה .
לוחצים על Save.
gcloud
פותחים טרמינל.
כדי למחוק רישום, משתמשים בפקודה
gcloud eventarc enrollments delete:gcloud eventarc enrollments delete ENROLLMENT_NAME \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
ENROLLMENT_NAME: המזהה של ההרשמה או שם מלא -
LOCATION: האזור הנתמך ב-Eventarc Advanced שבו מתבצעת ההרשמה
-
API בארכיטקטורת REST
כדי למחוק הרשמה, משתמשים בשיטה projects.locations.enrollments.delete.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENROLLMENT_NAME: השם המוצג של ההרשמה שרוצים למחוק – לדוגמה,my_enrollment. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו הפריסה של ההרשמה מתבצעת – לדוגמה,us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה בהצלחה, גוף התגובה יכיל מופע חדש של 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/enrollments/ENROLLMENT_NAME",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
הצגת רשימת צינורות עיבוד נתונים
אפשר לראות את רשימת הצינורות בדרכים הבאות:
- במסוף Google Cloud
- שימוש ב-CLI של gcloud בטרמינל או ב-Cloud Shell
שליחת בקשה ל-Eventarc API
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Pipelines.
מוצגים כל צינורות הנתונים. אפשר גם להשתמש ב Filter כדי לצמצם את החיפוש.
gcloud
פותחים טרמינל.
כדי לראות את רשימת ההרשמות, משתמשים בפקודה
gcloud eventarc pipelines list:gcloud eventarc pipelines list \ --location=LOCATION
מחליפים את
LOCATIONבאזור נתמך של Eventarc Advanced.
API בארכיטקטורת REST
כדי להציג רשימה של צינורות, משתמשים בשיטה projects.locations.pipelines.list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נוצרים צינורות האספקה. לדוגמה:us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופעים של Pipeline והתגובה תהיה דומה לדוגמה הבאה:
{
"pipelines": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
"createTime": "2025-01-10T20:32:11.606516066Z",
"updateTime": "2025-03-26T18:02:34.886616683Z",
"uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
"destinations": [
{
"httpEndpoint": {
"uri": "HTTP_URI"
},
"authenticationConfig": {
"googleOidc": {
"serviceAccount": "SERVICE_ACCOUNT_EMAIL"
}
}
}
],
"loggingConfig": {
"logSeverity": "NONE"
},
"retryPolicy": {
"maxAttempts": 5,
"minRetryDelay": "1s",
"maxRetryDelay": "60s"
}
},
{...}
]
}
מחיקת צינור עיבוד נתונים
אפשר למחוק צינורות בדרכים הבאות:
- במסוף Google Cloud
- שימוש ב-CLI של gcloud בטרמינל או ב-Cloud Shell
- שליחת בקשה ל-Eventarc API
הערה: יכול להיות שמחיקת צינור תארך יותר מ-10 דקות.
המסוף
כדי למחוק צינור, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.
ברשימת צינורות הנתונים, מסמנים את תיבת הסימון שליד שם צינור הנתונים שרוצים למחוק.
לוחצים על מחיקה.
מזינים
Deleteכדי לאשר את המחיקה.לוחצים על Delete.
gcloud
פותחים טרמינל.
כדי למחוק צינור, משתמשים בפקודה
gcloud eventarc pipelines delete:gcloud eventarc pipelines delete PIPELINE_NAME \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
PIPELINE_NAME: המזהה של צינור העיבוד או שם מוגדר במלואו -
LOCATION: האזור הנתמך ב-Eventarc Advanced של הפייפליין
-
API בארכיטקטורת REST
כדי למחוק צינור, משתמשים בשיטה projects.locations.pipelines.delete.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PIPELINE_NAME: השם המוצג של צינור העיבוד שרוצים למחוק, לדוגמה,my_pipeline. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו צינור עיבוד הנתונים נפרס. לדוגמה,us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה בהצלחה, גוף התגובה יכיל מופע חדש של 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/pipelines/PIPELINE_NAME",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}