בדף הזה מוסבר איך מינוי Pub/Sub שומר הודעות שפורסמו ואיך מגדירים את ההתנהגות הזו. יכול להיות שתצטרכו לשנות את הגדרות ברירת המחדל מהסיבות הבאות:
- כדי לשנות את משך הזמן שבו הודעות שלא אושרו זמינות למינוי לפני שהן נמחקות.
- כדי להפעיל את ההפעלה מחדש של הודעות שאושרו בעבר.
סקירה כללית
כשיוצרים מינוי, מערכת Pub/Sub מתחילה לשמור הודעות שפורסמו בשם המינוי. כברירת מחדל, Pub/Sub משליך הודעה ממינוי ברגע שההודעה מאושרת, ושומר הודעות שלא אושרו למשך 7 ימים.
אפשר להגדיר את משך השמירה כשיוצרים או מעדכנים את המינוי. משך השמירה המינימלי הוא 10 דקות, והמקסימלי הוא 31 ימים.
אפשר גם להגדיר את המינוי כך שישמור הודעות שאושרה קבלתן למשך תקופת השמירה שהוגדרה. שמירת הודעות שאושרו מאפשרת לכם להפעיל מחדש הודעות שאושרו בעבר כל עוד הן נשמרות. מידע נוסף על הפעלה מחדש של הודעות זמין במאמר הפעלה מחדש ומחיקה של הודעות באמצעות חיפוש.
אם מינוי מוגדר לשמירת הודעות שאושרה קבלתן, עלויות האחסון של ההודעות האלה יחויבו בפרויקט של המינוי.
אם מפעילים גם שמירת הודעות בנושא של המינוי, ההודעות נמחקות מהמינוי רק כשהגיל שלהן חורג מהערך המקסימלי של משך השמירה של המינוי ושל הנושא. מידע נוסף זמין במאמר הפעלת שמירת הודעות בנושא.
הגדרת שמירת הודעות
כדי ליצור מינוי ששומר הודעות שאושרה קבלתן, מבצעים את השלבים הבאים:
המסוף
נכנסים לדף Pub/Sub subscriptions במסוף Cloud de Confiance .
לוחצים על יצירת מינוי.
בשדה מזהה מינוי, מזינים מזהה למינוי.
בקטע משך שמירת ההודעות, בוחרים את מספר הימים, השעות והדקות לשמירת ההודעות.
מסמנים את תיבת הסימון שמירת הודעות שאושרה קבלתן.
לוחצים על יצירת מינוי.
gcloud
משתמשים ב-gcloud pubsub subscriptions create:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \
--message-retention-duration=5d \
--retain-acked-messages
מחליפים את SUBSCRIPTION_ID במזהה המינוי.
אם לא מציינים את הדגל --message-retention-duration, ההודעות נשמרות למשך ברירת המחדל של 7 ימים.
כדי לעדכן את הגדרות השמירה של הודעות במינוי קיים, מבצעים את השלבים הבאים:
המסוף
בדף מינויים ל-Pub/Sub, בוחרים את המינוי.
לוחצים על עריכה בחלק העליון של דף פרטי המינוי.
בקטע משך השמירה של הודעות, מעדכנים את מספר הימים, השעות והדקות לשמירת ההודעות.
מסמנים את תיבת הסימון שמירת הודעות שאושרו או מבטלים את הסימון שלה.
לוחצים על עדכון כדי לשמור את השינויים במינוי.
gcloud
משתמשים בפקודה gcloud pubsub subscriptions update:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--message-retention-duration=1d \
--retain-acked-messages
כדי להשבית את השמירה של הודעות שאושרה קבלתן, משתמשים בפקודה update עם הדגל --no-retain-acked-messages:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--no-retain-acked-messages