טריגרים של 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.