אחרי יצירה ופריסה של פונקציית Cloud Run, אפשר להגדיר את הפונקציה כך שתופעל בתגובה לתרחישים שונים על ידי ציון טריגר. בדף הזה מוסבר על הטריגרים שפונקציות Cloud Run תומכות בהם.
סוגים של טריגרים
כברירת מחדל, כל הפונקציות שנפרסות ב-Cloud Run הן שירותים שנפרסו ממקור ב-Cloud Run עם נקודת קצה HTTP (כתובת URL מסוג run.app). אם יצרתם בעבר פונקציה באמצעות הפקודה gcloud functions או Cloud Functions v2 API, כברירת מחדל לפונקציה יש נקודת קצה של HTTP cloudfunctions.net.
הדרך שבה הפונקציה מופעלת או מופעלת תלויה בסוג הפונקציה שמציינים כשכותבים את הקוד.
- טריגרים מבוססי-אירועים: מגיבים לאירועים בתוך פרויקט Google Cloud ומתאימים לפונקציות מבוססות-אירועים (נקראות גם פונקציות CloudEvent). כדי להפעיל פונקציות בתגובה לאירועים ספציפיים, צריך להשתמש ב-Eventarc, הטמעה של Google של מפרט CloudEvents שתומכת בבניית ארכיטקטורות מבוססות-אירועים.
- טריגרים של HTTP: מגיבים לבקשות HTTP(S) ומתאימים לפונקציות HTTP. אתם יכולים להשתמש בשירותים אחרים שלGoogle Cloud (שאינם Eventarc) כספק אירועים כדי להפעיל את הפונקציה באמצעות בקשות HTTP(S).
כדי להפעיל פונקציה בתגובה לאירועים בפרויקט Google Cloud , צריך לציין טריגרים כחלק מהפריסה של הפונקציה במסוף Google Cloud או אחרי שהפונקציה נפרסה באמצעות ה-CLI של gcloud.
אי אפשר לקשר את אותה פונקציה ליותר מגורם מפעיל אחד בכל פעם, אבל אפשר לגרום לאותו אירוע להפעיל כמה פונקציות על ידי פריסה של כמה פונקציות עם אותן הגדרות של גורם מפעיל.
טריגרים לדוגמה
אלה דוגמאות לטריגרים שנתמכים בפונקציות Cloud Run:
טריגרים מבוססי-אירועים:
- אירועים של Pub/Sub שמופעלים על ידי Eventarc
- אירועים ב-Cloud Storage שמופעלים על ידי Eventarc
- אירועי Firestore שמופעלים על ידי Eventarc
- טריגרים אחרים של אירועים
- תומך בכל סוג אירוע שנתמך על ידי Eventarc, כולל יותר מ-90 מקורות אירועים באמצעות יומני ביקורת ב-Cloud
טריגרים של HTTP:
- הפעלה באמצעות בקשת HTTP
- הפעלת שירותים כחלק מתהליך עבודה באמצעות Workflows
- הפעלת שירותים לפי לוח זמנים באמצעות Cloud Scheduler
- שימוש ב-Cloud Tasks להרצת משימות אסינכרוניות
- הפעלת שירותים ממינוי לדחיפת הודעות ב-Pub/Sub
- אפשר לנתב הודעות Pub/Sub ישירות לפונקציה באמצעות בקשות HTTP, או לעטוף אותן ב-Eventarc כטריגר מבוסס-אירוע.
כל הפונקציות מבוססות-האירועים משתמשות ב-Eventarc להעברת אירועים. טריגרים של Pub/Sub וטריגרים של Cloud Storage מיושמים כסוגים מסוימים של טריגרים של Eventarc.
טריגרים נוספים באמצעות Pub/Sub ו-webhook
מכיוון שאפשר להפעיל פונקציות Cloud Run באמצעות הודעות בנושא Pub/Sub, אפשר לשלב פונקציות Cloud Run עם כל שירות אחר של Google שתומך ב-Pub/Sub כאוטובוס אירועים. בנוסף, באמצעות טריגרים של HTTP אפשר גם לשלב עם כל שירות שמספק קריאות חוזרות (webhooks) של HTTP. בקטעים הבאים מתוארות כמה דוגמאות לשילובים.
Cloud Logging
Cloud Logging יכול לנתב יומנים לנושא Pub/Sub, ואז פונקציות Cloud Run יכולות להשתמש בהם. מידע נוסף מופיע במאמר בנושא הגדרה וניהול של אובייקטים מסוג sink במסמכי Cloud Logging.
Cloud Scheduler
אפשר לתזמן פונקציית HTTP על ידי יצירת משימה של Cloud Scheduler שמפעילה פעולה באמצעות HTTP.
אפשר גם לתזמן פונקציה מבוססת-אירועים כך שהיא תופעל ישירות בתגובה לאירועים בפרויקט Google Cloud , למשל כשמתפרסמת הודעה בנושא Pub/Sub.
Cloud Tasks
משימות HTTP Target ב-Cloud Tasks מאפשרות להפעיל פונקציות לטיפול במשימות בכל נקודת קצה של HTTP, כך שאפשר להשתמש בפונקציית HTTP עם טריגר HTTP כפונקציה לטיפול במשימות. אפשר גם להשתמש במשימות כדי להגביל את מספר הקריאות לפונקציות. מידע נוסף מופיע במאמר יצירת משימות HTTP Target במסמכי התיעוד של Cloud Tasks.
Gmail
באמצעות ממשק ה-API של התראות פוש ב-Gmail, אפשר לשלוח אירועים ב-Gmail לנושא ב-Pub/Sub ולצרוך אותם באמצעות Cloud Run.