קבלת אירועים ישירות מ-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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    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. לוחצים על הטמעת מאגר תגים.

  3. בטופס Create service:

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

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

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

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

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

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

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

יצירת טריגר Eventarc

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

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

    כניסה לדף Triggers

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

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

    לדוגמה, hello-trigger.

  4. ברשימה Trigger type, בוחרים באפשרות Google sources.

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

  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 service (שירות 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.

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