במדריך הזה נסביר איך לפרוס שירות מאומת של Cloud Run שמקבל אירועים מ-Cloud Storage באמצעות יומני ביקורת של Cloud. אפשר להשתמש במדריך הזה כדי לפרוס עומסי עבודה בסביבת ייצור. הטריגר של Eventarc מסנן אירועים על סמך רשומות ביומני הביקורת של Cloud. מידע נוסף זמין במאמר בנושא קביעת מסנני אירועים ליומני ביקורת של Cloud.
אפשר להשלים את המדריך הזה באמצעות מסוף Google Cloud או Google Cloud CLI.
מטרות
במדריך הזה תלמדו:
יוצרים קטגוריה של Cloud Storage שתשמש כמקור האירועים.
פריסת שירות לקבלת אירועים ב-Cloud Run.
יוצרים טריגר Eventarc.
יוצרים אירוע על ידי העלאת קובץ לקטגוריה של Cloud Storage, וצופים בו ביומנים של Cloud Run.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
לפני שמתחילים
יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה Google Cloud מוגבלת.
אם אתם יוצרי הפרויקט, מוקצה לכם תפקיד הבעלים הבסיסי (roles/owner). כברירת מחדל, תפקיד ניהול הזהויות והרשאות הגישה (IAM) הזה כולל את ההרשאות שנדרשות לגישה מלאה לרוב המשאבים Google Cloud, ואפשר לדלג על השלב הזה.
אם אתם לא יוצרי הפרויקט, צריך להעניק את ההרשאות הנדרשות בחשבון המשתמש המתאים בפרויקט. לדוגמה, חשבון משתמש יכול להיות חשבון Google (למשתמשי קצה) או חשבון שירות (לאפליקציות ולעומסי עבודה ממוחשבים). מידע נוסף זמין בדף תפקידים והרשאות של יעד האירוע.
שימו לב: כברירת מחדל, ההרשאות של Cloud Build כוללות הרשאות להעלאה ולהורדה של ארטיפקטים של Artifact Registry.
ההרשאות הנדרשות
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקידי ה-IAM הבאים:
- עריכה ב-Cloud Build (
roles/cloudbuild.builds.editor) - אדמין ב-Cloud Run (
roles/run.admin) - אדמין ב-Eventarc (
roles/eventarc.admin) - בעל הרשאת גישה לתצוגת יומנים (
roles/logging.viewAccessor) - אדמין IAM בפרויקט (
roles/resourcemanager.projectIamAdmin) - אדמין בחשבון שירות (
roles/iam.serviceAccountAdmin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - אדמין Service Usage (
roles/serviceusage.serviceUsageAdmin) - אדמין באחסון (
roles/storage.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מבצעים את השלבים הבאים באמצעות מסוף Google Cloud או ה-CLI של gcloud:
המסוף
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage, and Eventarc APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage, and Eventarc APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- כדי להגדיר אילו גישות לנתונים יתועדו ביומני הביקורת, צריך להפעיל את סוגי היומנים Admin Read, Data Read ו-Data Write עבור Google Cloud Storage:
-
נכנסים לדף Service accounts במסוף Google Cloud .
- לוחצים על יצירת חשבון שירות.
-
נותנים לחשבון השירות שם שיוצג במסוף Google Cloud .
המסוף יוצר מזהה לחשבון השירות על סמך השם הזה. Google Cloud עורכים את המזהה לפי הצורך. אי אפשר יהיה לשנות את המזהה בשלב מאוחר יותר.
- אופציונלי: מזינים תיאור לחשבון השירות.
-
אם לא רוצים להגדיר את אמצעי בקרת הגישה עכשיו, לוחצים על Done כדי לסיים את יצירת חשבון השירות.
כדי להגדיר אמצעי בקרת גישה עכשיו, לוחצים על Create and continue וממשיכים לשלב הבא.
- בוחרים את התפקידים 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. - כשמסיימים להוסיף תפקידים, לוחצים על Continue ואז על Done כדי לסיים את יצירת חשבון השירות.
gcloud
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים 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 .
מפעילים את Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage ו-Eventarc APIs, אם אחד מהם עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים 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 .
מפעילים את Artifact Registry, Cloud Build, Logging, Pub/Sub, Cloud Run, Cloud Storage ו-Eventarc APIs, אם אחד מהם עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים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 - עדכון הרכיבים של
gcloud:gcloud components update
- נכנסים באמצעות החשבון:
gcloud auth login
- מגדירים את משתני ההגדרה שמשמשים במדריך הזה:
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
- כדי להגדיר אילו פעולות גישה לנתונים יתועדו ביומני הביקורת, צריך להפעיל את סוגי היומנים
ADMIN_READ,DATA_READו-DATA_WRITEבשירותstorage.googleapis.com:- קוראים את מדיניות ה-IAM של הפרויקט ושומרים אותה בקובץ:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
- עורכים את המדיניות ב
/tmp/policy.yaml, מוסיפים או משנים רק את ההגדרה של יומני הביקורת Data Access.auditConfigs: - auditLogConfigs: - logType: ADMIN_READ - logType: DATA_WRITE - logType: DATA_READ service: storage.googleapis.com
- כותבים את מדיניות ה-IAM החדשה:
אם הפקודה הקודמת מדווחת על התנגשות עם שינוי אחר, צריך לחזור על השלבים האלה, החל מקריאת מדיניות ה-IAM של הפרויקט.gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
- קוראים את מדיניות ה-IAM של הפרויקט ושומרים אותה בקובץ:
- יוצרים חשבון שירות לפרויקט:
אחרי שיוצרים חשבון שירות, יכולות לחלוף עד שבע דקות לפני שאפשר יהיה להשתמש בו. אם ניסיתם להשתמש בחשבון שירות מיד אחרי שיצרתם אותו וקיבלתם הודעת שגיאה, צריך להמתין לפחות 60 שניות ולנסות שוב.gcloud iam service-accounts create sample-service-account \ --description="A sample service account" \ --display-name="Sample service account" - כדי לוודא ש-
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
- מקצים לחשבון השירות שמשויך לטריגר 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 כדי לאחסן את קובץ אימג' של קונטיינר.המסוף
- נכנסים לדף Repositories במסוף Google Cloud .
- לוחצים על Create repository (יצירת מאגר).
- מגדירים את המאגר:
- מזינים שם ייחודי.
- בקטע פורמט, בוחרים באפשרות Docker.
- בשדה Mode (מצב), בוחרים באפשרות Standard (רגיל).
- בקטע Location type, בוחרים באפשרות Region.
- ברשימה Region בוחרים באפשרות us-central1 (Iowa).
- מאשרים את שאר ברירות המחדל ולוחצים על יצירה.
gcloud
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=$REGION
מחליפים את REPOSITORY בשם ייחודי למאגר Artifact Registry.
יצירת קטגוריה של Cloud Storage
במדריך הזה נעשה שימוש ב-Cloud Storage כמקור האירועים. כדי ליצור קטגוריית אחסון:
המסוף
- נכנסים לדף Buckets במסוף Google Cloud .
- לוחצים על Create bucket.
- מזינים את פרטי הקטגוריה ולוחצים על Continue כדי להשלים כל שלב:
- מזינים שם ייחודי. לדוגמה,
eventarcbucket. - בוחרים באפשרות Region (אזור) בתור Location Type (סוג המיקום).
- בוחרים באפשרות us-central1 (Iowa) בשדה מיקום.
- בוחרים באפשרות Standard בשביל default storage class.
- בוחרים באפשרות Uniform בשביל בקרת גישה.
- מזינים שם ייחודי. לדוגמה,
- לוחצים על יצירה.
gcloud
gcloud storage buckets create gs://events-tutorial-PROJECT_ID/ --location=$REGION
אחרי שיוצרים את מקור האירועים, אפשר לפרוס את שירות מקבל האירועים ב-Cloud Run.
פריסת שירות לקבלת אירועים ב-Cloud Run
פריסת שירות Cloud Run שמקבל אירועים ומתעד אותם ביומן. כדי לפרוס את שירות קבלת האירועים לדוגמה:
המסוף
- משכפלים את המאגר לדוגמה ומעבירים אותו לחשבון ב-GitHub:
- ב-GitHub, עוברים אל GoogleCloudPlatform/golang-samples
- לוחצים על Fork.
- אם מופיעה בקשה, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.
- ב-GitHub, עוברים אל GoogleCloudPlatform/java-docs-samples.
- לוחצים על Fork.
- אם מופיעה בקשה, בוחרים את המיקום שבו רוצים ליצור את הפיצול של המאגר.
- ב-GitHub, עוברים אל GoogleCloudPlatform/dotnet-docs-samples.
- לוחצים על Fork.
- אם מופיעה בקשה, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.
- ב-GitHub, עוברים אל GoogleCloudPlatform/nodejs-docs-samples.
- לוחצים על Fork.
- אם מופיעה בקשה, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.
- ב-GitHub, עוברים אל GoogleCloudPlatform/python-docs-samples.
- לוחצים על Fork.
- אם מופיעה בקשה, בוחרים את המיקום שבו רוצים ליצור הסתעפות של המאגר.
- נכנסים לדף Services במסוף Google Cloud .
- לוחצים על Create service כדי להציג את הטופס Create service.
- בוחרים באפשרות פריסה רציפה ממאגר.
שינויים במאגר GitHub שלכם נבנים אוטומטית בקובצי אימג' של קונטיינרים ב-Artifact Registry ונפרסים ב-Cloud Run.
- לוחצים על Set up with Cloud Build כדי לפתוח את הטופס Set up with Cloud Build.
- אם מופיעה בקשה, מפעילים את Cloud Build API ואת Artifact Analysis API.
- בוחרים באפשרות GitHub בתור ספק המאגר.
- אם מוצגת בקשה, לוחצים על Install Google Cloud Build (התקנת Google Cloud Build).
- בוחרים את המאגר המחובר ב-GitHub כמאגר.
- לוחצים על הבא.
- בשדה Branch, מזינים
^main$. - בוחרים באפשרות Dockerfile בתור Build Type ומזינים את מיקום המקור של קובץ ה-Dockerfile:
eventarc/audit-storage/Dockerfileאו
eventarc/audit_storage/Dockerfile(Go)
- לוחצים על Save.
- בטופס Create service, מזינים שם לשירות.
לדוגמה,
helloworld-events. - בוחרים באפשרות us-central1(Iowa) בשדה Region שבו רוצים למקם את השירות.
- בוחרים באחת מהאפשרויות של תעבורת נתונים נכנסת (ingress) על סמך תעבורת הנתונים הנכנסת שרוצים לאפשר בשירות Cloud Run.
- בוחרים באפשרות דרישת אימות.
- לוחצים על יצירה.
המשך
Java
.NET
Node.js
Python
gcloud
- משכפלים את המאגר מ-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
- יוצרים את הקונטיינר ומעלים אותו ל-Cloud Build:
gcloud builds submit --tag $REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/$SERVICE_NAME:v1
- פורסים את קובץ האימג' של הקונטיינר ב-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-events של Cloud Run.
המסוף
- נכנסים לדף Triggers במסוף Google Cloud .
- לוחצים על Create trigger (יצירת ביטוי להפעלה).
- מקלידים Trigger name.
זהו המזהה של הטריגר, והוא חייב להתחיל באות. הוא יכול להכיל עד 63 אותיות קטנות, מספרים או מקפים.
- בוחרים סוג טריגר:
- מאינטראקציה ישירה (First-Party): סינון אירועים שנשלחים מספקי Google Cloud שירות (ישירות או דרך רשומות ביומני הביקורת של Cloud) או מספקים באמצעות הודעות Pub/Sub.
- צד שלישי: מסנן אירועים שנשלחים מספקים של צד שלישי.
- ברשימה ספק האירועים, בוחרים באפשרות Cloud Storage כמקור האירועים.
- ברשימה Event type (סוג האירוע), בוחרים באפשרות storage.objects.create.
- ברשימה Region, בוחרים באפשרות us-central1 כאזור שממנו יתקבלו האירועים.
- בוחרים את חשבון השירות שיצרתם. לדוגמה,
SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com. - ברשימה Event destination, בוחרים באפשרות Cloud Run.
- ברשימה Select a Cloud Run service, בוחרים באפשרות helloworld-events.
- לוחצים על יצירה. שימו לב שאפשר גם ליצור טריגר Eventarc באמצעות דף המסוף של Cloud Run.
gcloud
- יוצרים טריגר שמסנן אירועים ב-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.comPROJECT_IDבמזהה הפרויקט Google Cloud.כאשר:
-
type: מציין שיומני ביקורת נוצרים כשמתקיימים קריטריוני הסינון של הטריגר. -
serviceName: השירות שכותב את יומן הביקורת, שהוא Cloud Storage. -
methodName: הפעולה שנבדקת, שהיאstorage.objects.create.
events-tutorial-trigger. -
- כדי לוודא ש
events-tutorial-triggerנוצר בהצלחה, מריצים את הפקודה:gcloud eventarc triggers list --location=$REGION
הטריגר
events-tutorial-trigger מופיע עם יעד של helloworld-events.
יצירה והצגה של אירוע
- כדי ליצור אירוע:
המסוף
- יוצרים קובץ טקסט עם שם הקובץ
random.txtוהטקסט Hello World. - נכנסים לדף Buckets במסוף Google Cloud .
- בוחרים את קטגוריית האחסון שיצרתם.
- בכרטיסייה 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
- יוצרים קובץ טקסט עם שם הקובץ
- כדי לראות את הרשומה ביומן:
- נכנסים לדף Services במסוף Google Cloud .
- ברשימת השירותים, לוחצים על שם השירות שיצרתם כדי לעבור לדף פרטי השירות.
- לוחצים על הכרטיסייה Logs (יומנים) כדי לראות את יומני הבקשות והמאגרים של כל הגרסאות של השירות הזה. אפשר לסנן לפי רמת החומרה של היומן.
- מחפשים רשומה ביומן שדומה ל:
כאשרDetected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
BUCKET_NAMEהוא השם של קטגוריה של Cloud Storage. -
gcloud logging read "resource.labels.service_name=helloworld-events AND textPayload:random.txt" --format=json
- מחפשים רשומה ביומן שדומה ל:
כאשרDetected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
BUCKET_NAMEהוא השם של קטגוריית Cloud Storage.
המסוף
gcloud
פרסתם בהצלחה שירות לקבלת אירועים ב-Cloud Run, יצרתם טריגר של Eventarc, יצרתם אירוע מ-Cloud Storage וצפיתם בו ביומנים של Cloud Run.
הסרת המשאבים
ב-Cloud Run לא מחייבים כשלא משתמשים בשירות, אבל יכול להיות שעדיין תחויבו על אחסון קובץ האימג' של הקונטיינר ב-Artifact Registry, על אחסון קבצים בקטגוריה של Cloud Storage ועל משאבי Eventarc.אתם יכולים:
אפשר גם למחוק את הפרויקט Google Cloud כדי למנוע חיובים. כשמוחקים פרויקט ב- Google Cloud , החיוב על כל המשאבים שנעשה בהם שימוש באותו פרויקט מופסק.
כדי למחוק Google Cloud פרויקט:
gcloud projects delete PROJECT_ID