טריגרים של Pub/Sub (דור ראשון)
בפונקציות Cloud Run, טריגר Pub/Sub מאפשר לקרוא לפונקציה בתגובה להודעות Pub/Sub. כשמציינים טריגר Pub/Sub לפונקציה, מציינים גם נושא Pub/Sub. הפונקציה תופעל בכל פעם שהודעה תתפרסם בנושא שצוין.
כדי שפונקציה תשתמש בטריגר Pub/Sub, צריך להטמיע אותה כפונקציה מבוססת-אירועים:
אם משתמשים בפונקציית CloudEvent, נתוני האירוע של Pub/Sub מועברים לפונקציה בפורמט CloudEvents ומטען הנתונים של CloudEvent הוא מסוג
MessagePublishedData.אם משתמשים בפונקציית רקע, מטען הייעודי של נתוני האירועים ב-Pub/Sub מועבר ישירות לפונקציה בפורמט
PubsubMessage.
מאגר Google Events מכיל משאבים נוספים לעבודה עם נתוני אירועים.
פריסה
אפשר לציין טריגר Pub/Sub כשפורסים פונקציה. הוראות כלליות להטמעה של פונקציה מופיעות במאמר הטמעה של פונקציית Cloud Run. מידע נוסף ספציפי להגדרת טריגרים של Pub/Sub במהלך ההטמעה מופיע בקטע הזה.
gcloud
אם מבצעים פריסה באמצעות ה-CLI של gcloud, הדגלים שמוצגים כאן משמשים להגדרת טריגרים של Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- הדגל
--trigger-topicמציין את נושא ה-Pub/Sub שהטריגר יעקוב אחריו. הודעות שמתפרסמות בנושא הזה מפעילות קריאות לפונקציה. - הדגל
--retryקובע אם יתבצע ניסיון חוזר אוטומטי לקריאות פונקציה שנכשלו. מידע נוסף זמין במאמר בנושא ניסיון חוזר של פונקציות מבוססות-אירועים.
אירועים מהסוג הישן של Pub/Sub
פונקציות מדור קודם ב-Cloud Run Functions (דור ראשון) משתמשות בסוג אירוע שונה להפעלות Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
סוג האירוע הזה נתמך בפונקציות מדור קודם שכבר צורכות את האירועים האלה. עם זאת, מומלץ להשתמש בדגל --trigger-topic במקום זאת, כי יכול להיות שסוג האירוע מדור קודם יוסר בעתיד.
המסוף
אם פורסים באמצעות מסוף Google Cloud , אפשר להגדיר טריגר Pub/Sub בקטע Trigger:
- בשדה Trigger type, בוחרים באפשרות Cloud Pub/Sub.
- בשדה Select a Cloud Pub/Sub topic, בוחרים נושא שהטריגר יעקוב אחריו, או לוחצים על Create a topic כדי לפתוח חלון ליצירת נושא חדש. כשמפרסמים הודעה בנושא של הפונקציה, זה מפעיל קריאה לפונקציה.
- מסמנים את התיבה Retry on failure או מבטלים את הסימון שלה כדי לקבוע אם המערכת תנסה שוב באופן אוטומטי לבצע קריאות לפונקציות שנכשלו. מידע נוסף זמין במאמר בנושא ניסיון חוזר של פונקציות מבוססות-אירועים.
השלבים הבאים
- איך כותבים פונקציות מבוססות-אירועים
- איך פורסים פונקציית Cloud Run
- במדריך בנושא Pub/Sub יש דוגמה לכתיבה, לפריסה ולהפעלה של פונקציה עם טריגר Pub/Sub.