קבלת אירוע מיומני ביקורת בענן

במדריך הזה נסביר איך לפרוס שירות מאומת של Cloud Run שמקבל אירועים מ-Cloud Storage באמצעות יומני ביקורת של Cloud. אפשר להשתמש במדריך הזה כדי לפרוס עומסי עבודה בסביבת ייצור. הטריגר של Eventarc מסנן אירועים על סמך רשומות ביומני הביקורת של Cloud. מידע נוסף זמין במאמר בנושא קביעת מסנני אירועים ליומני ביקורת של Cloud.

אפשר להשלים את המדריך הזה באמצעות מסוף Google Cloud או Google Cloud CLI.

מטרות

במדריך הזה תלמדו:

  1. יוצרים קטגוריה של Cloud Storage שתשמש כמקור האירועים.

  2. פריסת שירות לקבלת אירועים ב-Cloud Run.

  3. יוצרים טריגר Eventarc.

  4. יוצרים אירוע על ידי העלאת קובץ לקטגוריה של Cloud Storage, וצופים בו ביומנים של Cloud Run.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

לפני שמתחילים

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

אם אתם יוצרי הפרויקט, מוקצה לכם תפקיד הבעלים הבסיסי (roles/owner). כברירת מחדל, תפקיד ניהול הזהויות והרשאות הגישה (IAM) הזה כולל את ההרשאות שנדרשות לגישה מלאה לרוב המשאבים Google Cloud, ואפשר לדלג על השלב הזה.

אם אתם לא יוצרי הפרויקט, צריך להעניק את ההרשאות הנדרשות בחשבון המשתמש המתאים בפרויקט. לדוגמה, חשבון משתמש יכול להיות חשבון Google (למשתמשי קצה) או חשבון שירות (לאפליקציות ולעומסי עבודה ממוחשבים). מידע נוסף זמין בדף תפקידים והרשאות של יעד האירוע.

שימו לב: כברירת מחדל, ההרשאות של Cloud Build כוללות הרשאות להעלאה ולהורדה של ארטיפקטים מ-Artifact Registry.

ההרשאות הנדרשות

כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

מבצעים את השלבים הבאים באמצעות מסוף Google Cloud או ה-CLI של gcloud:

המסוף

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage, and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage, and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. כדי להגדיר איזו גישה לנתונים מתועדת ביומני הביקורת, צריך להפעיל את סוגי היומנים Admin Read,‏ Data Read ו-Data Write עבור Google Cloud Storage:

    כניסה לדף 'יומני ביקורת'

  9. נכנסים לדף Service accounts במסוף Google Cloud .

    לדף Service accounts

  10. לוחצים על יצירת חשבון שירות.
  11. נותנים לחשבון השירות שם שיוצג במסוף Google Cloud .

    המסוף יוצר מזהה לחשבון השירות על סמך השם הזה. Google Cloud עורכים את המזהה לפי הצורך. אי אפשר יהיה לשנות את המזהה בשלב מאוחר יותר.

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

    כדי להגדיר אמצעי בקרת גישה עכשיו, לוחצים על Create and continue וממשיכים לשלב הבא.

  14. בוחרים את התפקידים Cloud Run Invoker ו- Eventarc Event Receiver כדי להעניק אותם בפרויקט לחשבון השירות שמשויך לטריגר Eventarc.

    למטרות בדיקה, ההרשאה הזו מאפשרת להקצות את התפקיד Cloud Run Invoker לכל השירותים והמשימות של Cloud Run בפרויקט. עם זאת, אפשר להקצות את התפקיד לשירות. מידע נוסף זמין במאמר בנושא מתן הרשאות לשירות Cloud Run.

    שימו לב: אם יוצרים טריגר לשירות מאומת ב-Cloud Run בלי להעניק את התפקיד Cloud Run Invoker, הטריגר נוצר בהצלחה והוא פעיל. עם זאת, הטריגר לא יפעל כמו שצריך ותופיע הודעה דומה להודעה הבאה ביומנים:

    The request was not authenticated. Either allow public access or set the proper Authorization header.
  15. כשמסיימים להוסיף תפקידים, לוחצים על Continue ואז על Done כדי לסיים את יצירת חשבון השירות.

gcloud

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. התקינו את ה-CLI של Google Cloud.

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  6. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  7. מפעילים את ממשקי ה-API של Artifact Registry,‏ Cloud Build,‏ Logging,‏ Pub/Sub,‏ Cloud Run,‏ Cloud Storage ו-Eventarc:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com 
          logging.googleapis.com  pubsub.googleapis.com  run.googleapis.com 
          storage.googleapis.com  and eventarc.googleapis.com
  8. התקינו את ה-CLI של Google Cloud.

  9. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  10. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  11. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

  12. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

  13. מפעילים את ממשקי ה-API של Artifact Registry,‏ Cloud Build,‏ Logging,‏ Pub/Sub,‏ Cloud Run,‏ Cloud Storage ו-Eventarc:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    gcloud services enable artifactregistry.googleapis.com cloudbuild.googleapis.com 
          logging.googleapis.com  pubsub.googleapis.com  run.googleapis.com 
          storage.googleapis.com  and eventarc.googleapis.com
  14. עדכון רכיבים של gcloud:
    gcloud components update
  15. נכנסים באמצעות החשבון:
    gcloud auth login
    
  16. מגדירים את משתני ההגדרה שמשמשים במדריך הזה:
    export REGION=us-central1
    gcloud config set run/region ${REGION}
    gcloud config set run/platform managed
    gcloud config set eventarc/location ${REGION}
    export SERVICE_NAME=helloworld-events
  17. כדי להגדיר איזו גישה לנתונים תתועד ביומני הביקורת, מפעילים את סוגי היומנים ADMIN_READ, DATA_READ ו-DATA_WRITE בשירות storage.googleapis.com:
    1. קוראים את מדיניות ה-IAM של הפרויקט ושומרים אותה בקובץ:
      gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
    2. עורכים את המדיניות ב/tmp/policy.yaml, ומוסיפים או משנים רק את ההגדרה של יומני הביקורת Data Access.
      auditConfigs:
      - auditLogConfigs:
      - logType: ADMIN_READ
      - logType: DATA_WRITE
      - logType: DATA_READ
      service: storage.googleapis.com
    3. כותבים את מדיניות ה-IAM החדשה:
      gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
      אם הפקודה הקודמת מדווחת על התנגשות עם שינוי אחר, צריך לחזור על השלבים האלה, החל מקריאת מדיניות ה-IAM של הפרויקט.
  18. יוצרים חשבון שירות לפרויקט:
    gcloud iam service-accounts create sample-service-account \
        --description="A sample service account" \
        --display-name="Sample service account"
    אחרי שיוצרים חשבון שירות, יכולות לחלוף עד שבע דקות לפני שאפשר יהיה להשתמש בו. אם ניסיתם להשתמש בחשבון שירות מיד אחרי שיצרתם אותו וקיבלתם הודעת שגיאה, המתינו לפחות 60 שניות ונסו שוב.
  19. כדי לוודא ש-sample-service-account נוצר, מריצים את הפקודה:
    gcloud iam service-accounts list
    הפלט אמור להיראות כך:
    DISPLAY NAME                     EMAIL                                                               DISABLED
    Default compute service account  PROJECT_NUMBER-compute@developer.gserviceaccount.com                False
    Sample service account           sample-service-account@PROJECT_ID.iam.gserviceaccount.com           False
  20. מקצים לחשבון השירות שמשויך לטריגר Eventarc את התפקידים Cloud Run Invoker‏ (run.invoker) ו- Eventarc Event Receiver‏ (roles/eventarc.eventReceiver) בפרויקט:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:sample-service-account@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/run.invoker"
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:sample-service-account@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/eventarc.eventReceiver"

    מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud.

    למטרות בדיקה, הפקודה הזו מעניקה את התפקיד Cloud Run Invoker בכל השירותים והמשימות של Cloud Run בפרויקט. עם זאת, אפשר להעניק את התפקיד בשירות. מידע נוסף זמין במאמר בנושא הענקת הרשאות לשירות Cloud Run.

    שימו לב: אם יוצרים טריגר לשירות מאומת ב-Cloud Run בלי להעניק את התפקיד Cloud Run Invoker, הטריגר נוצר בהצלחה והוא פעיל. עם זאת, הטריגר לא יפעל כמו שצריך ותופיע הודעה דומה להודעה הבאה ביומנים:

    The request was not authenticated. Either allow public access or set the proper Authorization header.

יצירת מאגר רגיל ב-Artifact Registry

יוצרים מאגר רגיל של Artifact Registry כדי לאחסן את קובץ האימג' בקונטיינר.

המסוף

  1. נכנסים לדף Repositories במסוף Google Cloud .

    כניסה לדף Repositories

  2. לוחצים על Create repository (יצירת מאגר).
  3. מגדירים את המאגר:
    1. מזינים שם ייחודי.
    2. בקטע פורמט, בוחרים באפשרות Docker.
    3. בקטע מצב, בוחרים באפשרות רגיל.
    4. בקטע Location type, בוחרים באפשרות Region.
    5. ברשימה Region, בוחרים באפשרות us-central1 (Iowa).
  4. מאשרים את שאר הגדרות ברירת המחדל ולוחצים על יצירה.

gcloud

gcloud artifacts repositories create REPOSITORY \
    --repository-format=docker \
    --location=$REGION

מחליפים את REPOSITORY בשם ייחודי למאגר Artifact Registry.

יצירת קטגוריה של Cloud Storage

במדריך הזה נעשה שימוש ב-Cloud Storage כמקור האירועים. כדי ליצור קטגוריית אחסון:

המסוף

  1. נכנסים לדף Buckets במסוף Google Cloud .

    כניסה לדף Buckets

  2. לוחצים על Create bucket.
  3. מזינים את פרטי הקטגוריה ולוחצים על Continue כדי להשלים כל שלב:
    1. מזינים שם ייחודי. לדוגמה, eventarcbucket.
    2. בוחרים באפשרות Region (אזור) בשדה Location Type (סוג מיקום).
    3. בוחרים באפשרות us-central1 (Iowa) בשדה מיקום.
    4. בוחרים באפשרות Standard בשדה default storage class.
    5. בוחרים באפשרות Uniform בשביל בקרת גישה.
  4. לוחצים על יצירה.

gcloud

gcloud storage buckets create gs://events-tutorial-PROJECT_ID/ --location=$REGION

אחרי שיוצרים את מקור האירועים, אפשר לפרוס את שירות מקבל האירועים ב-Cloud Run.

פריסת שירות לקבלת אירועים ב-Cloud Run

פריסת שירות Cloud Run שמקבל אירועים ומתעד אותם ביומן. כדי לפרוס את שירות מקלט האירועים לדוגמה:

המסוף

  1. משכפלים את המאגר לדוגמה ומעבירים אותו לחשבון ב-GitHub:
  2. המשך

    1. ב-GitHub, עוברים אל GoogleCloudPlatform/golang-samples
    2. לוחצים על Fork.
    3. צילום מסך של הכפתור 'שכפול'.
    4. אם מתבקשים, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.

    Java

    1. ב-GitHub, עוברים אל GoogleCloudPlatform/java-docs-samples.
    2. לוחצים על Fork.
    3. צילום מסך של הכפתור 'שכפול'.
    4. אם מתבקשים, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.

    ‎.NET

    1. ב-GitHub, עוברים אל GoogleCloudPlatform/dotnet-docs-samples.
    2. לוחצים על Fork.
    3. צילום מסך של הכפתור 'שכפול'.
    4. אם מתבקשים, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.

    Node.js

    1. ב-GitHub, עוברים אל GoogleCloudPlatform/nodejs-docs-samples.
    2. לוחצים על Fork.
    3. צילום מסך של הכפתור 'שכפול'.
    4. אם מתבקשים, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.

    Python

    1. ב-GitHub, עוברים אל GoogleCloudPlatform/python-docs-samples.
    2. לוחצים על Fork.
    3. צילום מסך של הכפתור 'שכפול'.
    4. אם מתבקשים, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.
  3. נכנסים לדף Services במסוף Google Cloud .
  4. כניסה לדף Services

  5. לוחצים על Create service (יצירת שירות) כדי להציג את הטופס Create service (יצירת שירות).
  6. בוחרים באפשרות פריסה רציפה ממאגר.

    שינויים במאגר GitHub שלכם נבנים אוטומטית בקובצי אימג' של קונטיינרים ב-Artifact Registry ונפרסים ב-Cloud Run.

  7. לוחצים על Set up with Cloud Build כדי לפתוח את הטופס Set up with Cloud Build.
    1. אם מופיעה בקשה, מפעילים את Cloud Build API ואת Artifact Analysis API.
    2. בוחרים באפשרות GitHub בתור ספק המאגר.
    3. אם מתבקשים, לוחצים על Install Google Cloud Build (התקנת Google Cloud Build).
    4. בוחרים את המאגר המחובר ב-GitHub בתור Repository (מאגר).
    5. לוחצים על הבא.
    6. בשדה Branch, מזינים ^main$.
    7. בוחרים באפשרות Dockerfile בתור סוג הבנייה ומזינים את מיקום המקור של קובץ ה-Dockerfile:
      • eventarc/audit-storage/Dockerfile

        או

      • eventarc/audit_storage/Dockerfile(Go)
    8. לוחצים על Save.
  8. בטופס Create service, מזינים שם לשירות. לדוגמה, helloworld-events.
  9. בוחרים באפשרות us-central1(Iowa) בשדה Region שבו רוצים למקם את השירות.
  10. בוחרים באחת מהאפשרויות של Ingress על סמך תעבורת הנתונים הנכנסת שרוצים לאפשר בשירות Cloud Run.
  11. לוחצים על דרישת אימות.
  12. לוחצים על יצירה.

gcloud

  1. משכפלים את מאגר GitHub:

    המשך

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git
    cd golang-samples/eventarc/audit_storage
    

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/eventarc/audit-storage

    ‎.NET

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git
    cd dotnet-docs-samples/eventarc/audit-storage

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
    cd nodejs-docs-samples/eventarc/audit-storage

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    cd python-docs-samples/eventarc/audit-storage
  2. יוצרים את הקונטיינר ומעלים אותו ל-Cloud Build:
    gcloud builds submit --tag $REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/$SERVICE_NAME:v1
    
  3. פורסים את קובץ האימג' של הקונטיינר ב-Cloud Run:
    gcloud run deploy $SERVICE_NAME \
        --image $REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/$SERVICE_NAME:v1
    

    בבקשה לאפשר הפעלות לא מאומתות, מזינים n.

    אם הפריסה מצליחה, כתובת ה-URL של השירות מוצגת בשורת הפקודה.

אחרי שפורסים את שירות מקבל האירועים שנקרא helloworld-events ב-Cloud Run, אפשר להגדיר את הטריגר.

יצירת טריגר Eventarc

הטריגר של Eventarc ישלח אירועים מהקטגוריה של Cloud Storage לשירות helloworld-eventsCloud Run.

המסוף

  1. נכנסים לדף Triggers במסוף Google Cloud .

    כניסה לדף Triggers

  2. לוחצים על Create trigger (יצירת ביטוי להפעלה).
  3. מקלידים Trigger name.

    זהו המזהה של הטריגר, והוא חייב להתחיל באות. הוא יכול להכיל עד 63 אותיות קטנות, ספרות או מקפים.

  4. בוחרים סוג טריגר:
    • מאינטראקציה ישירה (First-Party): מסנן אירועים שנשלחים מספקי Google Cloud שירות (ישירות או דרך רשומות ביומני הביקורת של Cloud) או מספקים Google Cloud באמצעות הודעות Pub/Sub.
    • צד שלישי: מסנן אירועים שנשלחים מספקים של צד שלישי.
  5. ברשימה ספק האירועים, בוחרים באפשרות Cloud Storage כמקור האירועים.
  6. ברשימה Event type (סוג האירוע), בוחרים באפשרות storage.objects.create.
  7. ברשימה Region, בוחרים באזור us-central1 כדי לקבל ממנו אירועים.
  8. בוחרים את חשבון השירות שיצרתם. לדוגמה, SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com.
  9. ברשימה Event destination, בוחרים באפשרות Cloud Run.
  10. ברשימה Select a Cloud Run service, בוחרים באפשרות helloworld-events.
  11. לוחצים על יצירה.
  12. שימו לב שאפשר גם ליצור טריגר Eventarc בדף Cloud Run console.

gcloud

  1. יוצרים טריגר שמסנן אירועים ב-Cloud Storage ומשתמש בחשבון השירות שיצרתם:
    gcloud eventarc triggers create events-tutorial-trigger \
        --destination-run-service=$SERVICE_NAME \
        --destination-run-region=$REGION \
        --event-filters="type=google.cloud.audit.log.v1.written" \
        --event-filters="serviceName=storage.googleapis.com" \
        --event-filters="methodName=storage.objects.create" \
        --service-account=sample-service-account@PROJECT_ID.iam.gserviceaccount.com
    מחליפים את PROJECT_ID במזהה הפרויקט Google Cloud.

    כאשר:

    • type: מציין שיומני ביקורת נוצרים כשמתקיימים קריטריוני הסינון של הטריגר.
    • serviceName: השירות שכותב את יומן הביקורת, שהוא Cloud Storage.
    • methodName: הפעולה שנבדקת, שהיא storage.objects.create.
    הפעולה הזו יוצרת טריגר בשם events-tutorial-trigger.
  2. כדי לוודא שהתיקייה events-tutorial-trigger נוצרה בהצלחה, מריצים את הפקודה:
    gcloud eventarc triggers list --location=$REGION
  3. הטריגר events-tutorial-trigger מופיע עם יעד של helloworld-events.

יצירה והצגה של אירוע

  1. כדי ליצור אירוע:

    המסוף

    1. יוצרים קובץ טקסט עם שם הקובץ random.txt והטקסט Hello World.
    2. נכנסים לדף Buckets במסוף Google Cloud .

      כניסה לדף Buckets

    3. בוחרים את קטגוריית האחסון שיצרתם.
    4. בכרטיסייה Objects לוחצים על Upload files ומעלים את הקובץ random.txt.

    gcloud

    העלאת קובץ טקסט ל-Cloud Storage:

    echo "Hello World" > random.txt
    gcloud storage cp random.txt gs://events-tutorial-PROJECT_ID/random.txt
  2. כדי לראות את הרשומה ביומן:
  3. המסוף

    1. נכנסים לדף Services במסוף Google Cloud .

      כניסה לדף Services

    2. ברשימת השירותים, לוחצים על שם השירות שיצרתם כדי לעבור לדף פרטי השירות.
    3. לוחצים על הכרטיסייה Logs (יומנים) כדי לראות את יומני הבקשות והמאגרים של כל הגרסאות של השירות הזה. אפשר לסנן לפי רמת החומרה של היומן.
    4. מחפשים רשומה ביומן שדומה ל:
      Detected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
      כאשר BUCKET_NAME הוא השם של קטגוריה של Cloud Storage.

    gcloud

    1. gcloud logging read "resource.labels.service_name=helloworld-events AND textPayload:random.txt" --format=json
    2. מחפשים רשומה ביומן שדומה ל:
      Detected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
      כאשר BUCKET_NAME הוא השם של קטגוריית Cloud Storage.

פרסתם בהצלחה שירות לקבלת אירועים ב-Cloud Run, יצרתם טריגר Eventarc, יצרתם אירוע מ-Cloud Storage וצפיתם בו ביומנים של Cloud Run.

הסרת המשאבים

ב-Cloud Run לא מחייבים על שירות שלא נמצא בשימוש, אבל יכול להיות שתחויבו על אחסון קובץ האימג' של הקונטיינר ב-Artifact Registry, על אחסון קבצים בקטגוריה של Cloud Storage ועל משאבי Eventarc.

אתם יכולים:

  1. מחיקת קובץ אימג' של קונטיינר.

  2. מחיקת קטגוריית האחסון.

  3. מחיקת טריגר Eventarc

אפשר גם למחוק את הפרויקט Google Cloud כדי למנוע חיובים. כשמוחקים פרויקט ב- Google Cloud , החיוב על כל המשאבים שנעשה בהם שימוש באותו פרויקט מופסק.

כדי למחוק Google Cloud פרויקט:

gcloud projects delete PROJECT_ID

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