יצירת הרשמה לקבלת אירועים

רישום מזהה מינוי לאפיק (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.

  1. כדי ליצור הרשמה, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.

    מעבר אל Pipelines

  2. לוחצים על Create pipeline.

  3. בחלונית Pipeline details:

    1. מזינים שם צינור. זה המזהה של צינור עיבוד הנתונים.
    2. ברשימה Region, בוחרים אזור לפריסת צינור הנתונים. צריך ליצור את הפייפליין באותו אזור שבו נמצא האפיק (bus). מידע נוסף זמין במאמר בנושא מיקומים מתקדמים של Eventarc.
    3. אופציונלי: ברשימה חומרת היומן, בוחרים את רמת החומרה המינימלית של האירועים שמתוארים ברשומות היומן. ברירת המחדל היא ללא. מידע נוסף זמין במאמר LogSeverity.
    4. אופציונלי: בקטע Retry policy (מדיניות ניסיון חוזר), אפשר לשנות את הגדרת ברירת המחדל כדי לנסות לשלוח אירועים מחדש.
    5. בקטע הצפנה, מאשרים את ברירת המחדל Google-managed encryption key או בוחרים באפשרות מפתח Cloud KMS. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח (CMEK).
    6. אם בוחרים באפשרות מפתח Cloud KMS, מבצעים את הפעולות הבאות:

      1. ברשימה Key type (סוג המפתח), בוחרים שיטה לניהול המפתחות.

        אתם יכולים לנהל את המפתחות באופן ידני או להשתמש ב-Autokey, שמאפשר לכם ליצור מחזיקי מפתחות ומפתחות לפי דרישה. אם האפשרות Autokey מושבתת, היא עדיין לא משולבת עם סוג המשאב הנוכחי.

      2. בקטע בחירת מפתח בניהול הלקוח, בוחרים מפתח.

        שימו לב: כדי לראות את המפתחות לניהול הלקוח, צריך לבחור אזור.

      3. אופציונלי: כדי להזין ידנית את שם המשאב של המפתח, ברשימה Select a customer-managed key (בחירת מפתח בניהול הלקוח), לוחצים על Enter key manually (הזנת מפתח באופן ידני) ומזינים את שם המפתח בפורמט שצוין.

      4. אם מתבקשים, מקצים את התפקיד cloudkms.cryptoKeyEncrypterDecrypter לסוכן השירות של Eventarc.

    7. אופציונלי: כדי להוסיף תוויות, לוחצים על הוספת תווית. תוויות הן צמדי מפתח/ערך שעוזרים לכם לארגן אתGoogle Cloud המשאבים. מידע נוסף זמין במאמר מהן תוויות?

    8. לוחצים על Continue.

  4. בחלונית Enrollments:

    1. לוחצים על הוספת הרשמה.
    2. מזינים שם הרשמה.
    3. ברשימה Bus, בוחרים אוטובוס להרשמה.
    4. בשדה CEL expression (ביטוי CEL), כותבים ביטוי הערכה באמצעות CEL. לדוגמה:

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      שימו לב שהביטוי שמוגדר כברירת מחדל, true, מציין שכל ההודעות מנותבות ללא סינון.

    5. לוחצים על סיום.

    6. אפשר להוסיף עוד הרשמה או ללחוץ על המשך.

  5. אופציונלי: בחלונית Event mediation (גישור אירועים), מבצעים את הפעולות הבאות או לוחצים על Continue (המשך):

    1. מסמנים את תיבת הסימון החלת טרנספורמציה.
    2. ברשימה Inbound format (פורמט נכנס), בוחרים את הפורמט הרלוונטי.

      חשוב לזכור שכאשר מחילים טרנספורמציה, חובה לציין פורמט נתונים נכנסים לצינור, וכל האירועים צריכים להתאים לפורמט הזה.

    3. בפורמטים Avro או Protobuf, צריך לציין סכימה נכנסת. אפשר גם להעלות סכימה של נתונים נכנסים. מידע נוסף זמין במאמר בנושא פורמט של אירועים שהתקבלו.

    4. בשדה CEL expression, כותבים ביטוי המרה באמצעות CEL.

    5. לוחצים על Continue.

  6. בחלונית Destination (יעד):

    1. ברשימה סוג היעד, בוחרים את סוג היעד שאליו רוצים להפנות את ההודעות. בהתאם לסוג היעד, מבצעים את הפעולות הבאות:

    2. אם רלוונטי, בוחרים פורמט מהרשימה Outbound format (פורמט יוצא).

      שימו לב: אם לא מציינים פורמט נתונים נכנסים לצינור, אי אפשר להגדיר פורמט נתונים יוצאים.

    3. אם רלוונטי, מחילים קישור להודעה. מידע נוסף זמין במאמר בנושא הגדרת קשירת הודעה.

    4. כדי להפעיל את האימות, מסמנים את תיבת הסימון הפעלת האימות.

      1. ברשימה 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.

        מידע נוסף על סוגי אסימונים

      2. ברשימה Service account, בוחרים את חשבון השירות שיפעיל את שירות היעד. אפשר גם ליצור חשבון שירות חדש.

        כאן מציינים את כתובת האימייל בחשבון השירות ב-IAM שמשויך לפייפליין, ושנתתם לו בעבר תפקידים ספציפיים שנדרשים ל-Eventarc Advanced.

  7. לוחצים על יצירה.

gcloud

כשמשתמשים ב-CLI של gcloud, קודם יוצרים את צינור הנתונים ואז יוצרים את ההרשמה באמצעות הפקודות המתאימות.

פייפליין

  1. פותחים טרמינל.

  2. יוצרים פייפליין באמצעות הפקודה 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_definition
      • output_payload_format_json
      • output_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.

הרשמה

  1. פותחים טרמינל.

  2. יוצרים הרשמה באמצעות הפקודה 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

המסוף

  1. כדי לראות את רשימת ההרשמות לצינור ספציפי, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.

    מעבר אל Pipelines

  2. לוחצים על שם צינור הנתונים שרוצים להציג את ההרשמות שלו.

    ייפתח הדף Pipeline details.

    בכרטיסייה Enrollments (הרשמות), מופיעות כל ההרשמות שמשויכות לצינור.

gcloud

  1. פותחים טרמינל.

  2. כדי לראות את רשימת ההרשמות, משתמשים בפקודה 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

המסוף

  1. כדי למחוק רישום, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.

    מעבר אל Pipelines

  2. לוחצים על שם צינור המכירות שממנו רוצים למחוק את ההרשמה.

    נפתחת החלונית Pipeline details.

  3. לוחצים על עריכה .

  4. לוחצים על Continue.

    החלונית הרשמות תיפתח.

  5. בפריט ההרשמה שרוצים למחוק, לוחצים על סמל המחיקה .

  6. לוחצים על Save.

gcloud

  1. פותחים טרמינל.

  2. כדי למחוק רישום, משתמשים בפקודה gcloud eventarc enrollments delete:

    gcloud eventarc enrollments delete ENROLLMENT_NAME \
          --location=LOCATION

    מחליפים את מה שכתוב בשדות הבאים:

‫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.

מעבר אל Pipelines

מוצגים כל צינורות הנתונים. אפשר גם להשתמש ב Filter כדי לצמצם את החיפוש.

gcloud

  1. פותחים טרמינל.

  2. כדי לראות את רשימת ההרשמות, משתמשים בפקודה 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 דקות.

המסוף

  1. כדי למחוק צינור, במסוף Google Cloud נכנסים לדף Eventarc > Pipelines.

    מעבר אל Pipelines

  2. ברשימת צינורות הנתונים, מסמנים את תיבת הסימון שליד שם צינור הנתונים שרוצים למחוק.

  3. לוחצים על מחיקה.

  4. מזינים Delete כדי לאשר את המחיקה.

  5. לוחצים על Delete.

gcloud

  1. פותחים טרמינל.

  2. כדי למחוק צינור, משתמשים בפקודה gcloud eventarc pipelines delete:

    gcloud eventarc pipelines delete PIPELINE_NAME \
          --location=LOCATION

    מחליפים את מה שכתוב בשדות הבאים:

‫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
}

המאמרים הבאים