קבלת אירועים ישירות מ-Cloud Storage (Google Cloud מסוף)
במדריך למתחילים הזה מוסבר איך לקבל אירועים ישירים מ-Cloud Storage בשירות Cloud Run שמאפשר גישה ציבורית.
אתם יכולים להגדיר הפעלה של התראות בתגובה לאירועים שונים בקטגוריה של Cloud Storage – יצירה, מחיקה, העברה לארכיון ועדכונים של מטא-נתונים של אובייקטים. מידע נוסף זמין במאמר יצירת טריגר להפניית אירועים ב-Cloud Storage אל Cloud Run.
אפשר להשלים את המדריך למתחילים באמצעות מסוף Google Cloud . הוראות לשימוש ב-Google Cloud CLI מופיעות במאמר קבלת אירועים ישירות מ-Cloud Storage (ה-CLI של gcloud).
במדריך למתחילים הזה:
יוצרים קטגוריה של Cloud Storage שתשמש כמקור אירועים.
פורסים שירות לדוגמה ב-Cloud Run כדי לקבל אירועים.
יוצרים טריגר Eventarc כדי לסנן אירועים ולהעביר אותם.
יוצרים אירוע על ידי העלאת קובץ לקטגוריה של Cloud Storage, וצופים באירוע ביומנים של Cloud Run.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה מוגבלת. Google Cloud
- נכנסים לחשבון 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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע ההפעלה המהירה הזו, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- אדמין ב-Cloud Run (
roles/run.admin) - אדמין ב-Eventarc (
roles/eventarc.admin) - כלי הצפייה ביומנים (
roles/logging.viewer) - אדמין IAM בפרויקט (
roles/resourcemanager.projectIamAdmin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - אדמין באחסון (
roles/storage.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת קטגוריה של Cloud Storage
במדריך למתחילים הזה נעשה שימוש ב-Cloud Storage כמקור האירועים.במסוף Google Cloud , נכנסים לדף Cloud Storage > Overview.
לוחצים על Create bucket.
מזינים Name (שם) ייחודי לקטגוריה.
לדוגמה,
hello-bucket.לוחצים על Continue.
בקטע Location type, בוחרים באפשרות Region ואז באפשרות us-central1 (Iowa).
מאשרים את שאר הגדרות ברירת המחדל.
לוחצים על יצירה.
אחרי שיוצרים את מקור האירועים, אפשר לפרוס את שירות מקלט האירועים ב-Cloud Run.
פריסת שירות לקבלת אירועים ב-Cloud Run
פריסת שירות לדוגמה ב-Cloud Run שמקבל אירועים ומתעד אותם ביומן.
במסוף Google Cloud , נכנסים לדף Cloud Run > Services.
לוחצים על Deploy container (פריסת מאגר התגים).
בטופס Create service (יצירת שירות):
בוחרים באפשרות Deploy one revision from an existing container image (פריסת גרסה אחת מקובץ אימג' של קונטיינר קיים).
לוחצים על בדיקה באמצעות מאגר תגים לדוגמה.
ברשימה Region, בוחרים את המיקום של השירות us-central1 (Iowa).
בקטע אימות, בוחרים באפשרות מתן גישה לכולם.
מאשרים את שאר הגדרות ברירת המחדל.
כדי לפרוס את קובץ האימג' של הקונטיינר לדוגמה, לוחצים על יצירה.
פריסת השירות hello יכולה להימשך עד שתי דקות.
יצירת טריגר Eventarc
הטריגר של Eventarc ישלח אירועים מהקטגוריה של Cloud Storage לשירות לדוגמה של Cloud Run.במסוף Google Cloud , נכנסים לדף Eventarc > Triggers.
לוחצים על Create trigger (יצירת ביטוי להפעלה).
מקלידים Trigger name.
לדוגמה,
hello-trigger.ברשימה סוג הטריגר, בוחרים באפשרות מקורות של Google.
המסנן הזה מסנן אירועים שנשלחים מספקים (ישירות או דרך רשומות ביומני הביקורת של Cloud), או מספקים שמשתמשים בהודעות Pub/Sub. Google Cloud
ברשימה Event provider, בוחרים באפשרות Cloud Storage.
ברשימה Event type (סוג האירוע), בוחרים באפשרות Direct (ישיר) > google.cloud.storage.object.v1.finalized.
בשדה Bucket, בוחרים את קטגוריית Cloud Storage hello-bucket שיצרתם קודם.
אם תתבקשו, תצטרכו להעניק את התפקידים הבאים:
- יצירת אסימונים בחשבון שירות
(
roles/iam.serviceAccountTokenCreator) בחשבון השירות של Pub/Sub - Eventarc Event Receiver (
roles/eventarc.eventReceiver) לחשבון השירות שמוגדר כברירת מחדל ב-Compute - Pub/Sub Publisher
(
roles/pubsub.publisher) לחשבון השירות של Cloud Storage
- יצירת אסימונים בחשבון שירות
(
להשתמש בחשבון השירות שמוגדר כברירת מחדל בשירות Compute כחשבון השירות שמפעיל את השירות.
ברשימה Event destination, בוחרים באפשרות Cloud Run.
בשדה שירות Cloud Run, בוחרים את שירות הדוגמה hello שיצרתם קודם.
מאשרים את שאר הגדרות ברירת המחדל.
לוחצים על יצירה.
יכול להיות שיעברו כמה דקות עד שכל ההרשאות הדרושות יועברו לסוכן השירות של Eventarc. אם מופיעה שגיאה Permission denied
while using the Eventarc Service Agent, צריך להמתין כמה דקות ולנסות שוב. אחרי שיוצרים טריגר, יכולות לעבור עד שתי דקות עד שהוא יפעל באופן מלא.
יצירה והצגה של אירוע
יוצרים אירוע ומוודאים שהטריגר של Eventarc פועל כמצופה.
כדי ליצור אירוע:
יוצרים קובץ טקסט עם שם הקובץ
random.txtוהטקסט Hello World.במסוף Google Cloud , נכנסים לדף Cloud Storage > Buckets.
לוחצים על השם של קטגוריית האחסון שיצרתם.
בכרטיסייה Objects לוחצים על Upload files ומעלים את קובץ
random.txt.
ההעלאה יוצרת אירוע, ושירות Cloud Run מתעד ביומן את ההודעה של האירוע.
כדי לראות את הרשומה ביומן:
נכנסים לדף Cloud Run > Services במסוף Google Cloud .
לוחצים על השם של השירות שיצרתם.
כדי לאחזר את רשומות היומן של כל הגרסאות של השירות הזה, בדף פרטי השירות לוחצים על הכרטיסייה יומנים. אפשר לסנן לפי רמת החומרה של היומן.
מחפשים רשומה ביומן שדומה ל:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
כל הכבוד! הצלחתם לפרוס שירות לקבלת אירועים ב-Cloud Run, ליצור טריגר Eventarc, ליצור אירוע מ-Cloud Storage ולצפות בו ביומנים של Cloud Run.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
ב-Cloud Run לא מחויבים כשלא משתמשים בשירות, אבל יכול להיות שעדיין תחויבו על הפעולות הבאות:- אחסון קובץ האימג' של הקונטיינר ב-Artifact Registry
- משאבים של Cloud Run
- אחסון קבצים בקטגוריה של Cloud Storage
אתם יכולים למחוק את התמונה, למחוק את קטגוריית האחסון ולמחוק את שירות Cloud Run.
כדי למחוק את טריגר Eventarc:
במסוף Google Cloud , נכנסים לדף Eventarc > Triggers.
לוחצים על השם של הטריגר שיצרתם.
בדף Triggers details (פרטי הטריגרים), לוחצים על Delete (מחיקה).
אפשר גם למחוק את הפרויקט Google Cloud כדי למנוע חיובים. כשמוחקים פרויקט ב- Google Cloud , החיוב על כל המשאבים שנעשה בהם שימוש באותו פרויקט מופסק.
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.