קבלת אירועים ישירות מ-Cloud Storage (Google Cloud מסוף)

במדריך למתחילים הזה מוסבר איך לקבל אירועים ישירים מ-Cloud Storage בשירות Cloud Run שמאפשר גישה ציבורית.

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

אפשר להשלים את המדריך למתחילים באמצעות מסוף Google Cloud . הוראות לשימוש ב-Google Cloud CLI מופיעות במאמר קבלת אירועים ישירות מ-Cloud Storage‏ (ה-CLI של gcloud).

במדריך למתחילים הזה:

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

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

  3. יוצרים טריגר Eventarc כדי לסנן אירועים ולהעביר אותם.

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


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


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

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

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

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

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

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

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

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

התפקידים הנדרשים

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

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

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

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

במדריך למתחילים הזה נעשה שימוש ב-Cloud Storage כמקור האירועים.

  1. במסוף Google Cloud , נכנסים לדף Cloud Storage > Overview.

    לסקירה הכללית

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

  3. מזינים Name (שם) ייחודי לקטגוריה.

    לדוגמה, hello-bucket.

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

  5. בקטע Location type, בוחרים באפשרות Region ואז באפשרות us-central1 (Iowa).

  6. מאשרים את שאר הגדרות ברירת המחדל.

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

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

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

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

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

    כניסה לדף Services

  2. לוחצים על Deploy container (פריסת מאגר התגים).

  3. בטופס Create service (יצירת שירות):

    1. בוחרים באפשרות Deploy one revision from an existing container image (פריסת גרסה אחת מקובץ אימג' של קונטיינר קיים).

    2. לוחצים על בדיקה באמצעות מאגר תגים לדוגמה.

    3. ברשימה Region, בוחרים את המיקום של השירות us-central1 (Iowa).

    4. בקטע אימות, בוחרים באפשרות מתן גישה לכולם.

    5. מאשרים את שאר הגדרות ברירת המחדל.

    6. כדי לפרוס את קובץ האימג' של הקונטיינר לדוגמה, לוחצים על יצירה.

פריסת השירות hello יכולה להימשך עד שתי דקות.

יצירת טריגר Eventarc

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

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

    כניסה לדף Triggers

  2. לוחצים על Create trigger (יצירת ביטוי להפעלה).

  3. מקלידים Trigger name.

    לדוגמה, hello-trigger.

  4. ברשימה סוג הטריגר, בוחרים באפשרות מקורות של Google.

    המסנן הזה מסנן אירועים שנשלחים מספקים (ישירות או דרך רשומות ביומני הביקורת של Cloud), או מספקים שמשתמשים בהודעות Pub/Sub. Google Cloud

  5. ברשימה Event provider, בוחרים באפשרות Cloud Storage.

  6. ברשימה Event type (סוג האירוע), בוחרים באפשרות Direct (ישיר) > google.cloud.storage.object.v1.finalized.

  7. בשדה Bucket, בוחרים את קטגוריית Cloud Storage‏ hello-bucket שיצרתם קודם.

  8. אם תתבקשו, תצטרכו להעניק את התפקידים הבאים:

  9. להשתמש בחשבון השירות שמוגדר כברירת מחדל בשירות Compute כחשבון השירות שמפעיל את השירות.

  10. ברשימה Event destination, בוחרים באפשרות Cloud Run.

  11. בשדה שירות Cloud Run, בוחרים את שירות הדוגמה hello שיצרתם קודם.

  12. מאשרים את שאר הגדרות ברירת המחדל.

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

יכול להיות שיעברו כמה דקות עד שכל ההרשאות הדרושות יועברו לסוכן השירות של Eventarc. אם מופיעה שגיאה Permission denied while using the Eventarc Service Agent, צריך להמתין כמה דקות ולנסות שוב. אחרי שיוצרים טריגר, יכולות לעבור עד שתי דקות עד שהוא יפעל באופן מלא.

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

יוצרים אירוע ומוודאים שהטריגר של Eventarc פועל כמצופה.

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

    1. יוצרים קובץ טקסט עם שם הקובץ random.txt והטקסט Hello World.

    2. במסוף Google Cloud , נכנסים לדף Cloud Storage > Buckets.

      כניסה לדף Buckets

    3. לוחצים על השם של קטגוריית האחסון שיצרתם.

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

    ההעלאה יוצרת אירוע, ושירות Cloud Run מתעד ביומן את ההודעה של האירוע.

  2. כדי לראות את הרשומה ביומן:

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

      כניסה לדף Services

    2. לוחצים על השם של השירות שיצרתם.

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

    4. מחפשים רשומה ביומן שדומה ל:

      Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]

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

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:

ב-Cloud Run לא מחויבים כשלא משתמשים בשירות, אבל יכול להיות שעדיין תחויבו על הפעולות הבאות:

אתם יכולים למחוק את התמונה, למחוק את קטגוריית האחסון ולמחוק את שירות Cloud Run.

כדי למחוק את טריגר Eventarc:

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

    כניסה לדף Triggers

  2. לוחצים על השם של הטריגר שיצרתם.

  3. בדף Triggers details (פרטי הטריגרים), לוחצים על Delete (מחיקה).

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

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

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