יכולות להיות סיבות שונות לכך שהמנויים לא יכולים לטפל בהודעות. לדוגמה, יכול להיות שיהיו בעיות זמניות באחזור הנתונים שנדרשים לעיבוד הודעה. או שההודעה תהיה בפורמט שהמנוי לא מצפה לו.
כדי לנהל הודעות שלא ניתן למסור שהאפליקציות הרשומות לא יכולות לאשר את קבלתן, Pub/Sub יכול להעביר אותן אל נושא להודעות ללא מוצא (שנקרא גם תור של הודעות שלא ניתן למסור).
לפני שמתחילים
יוצרים נושא להגדרת נושא של הודעות שלא ניתן למסור.
אפשר גם ליצור את הנושא בשלב הבא, אם פועלים לפי כל ההוראות בדף הזה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לניהול נושאים ומינויים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עריכה ב-Pub/Sub (roles/pubsub.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
אפשר להגדיר בקרת גישה ברמת הפרויקט וברמת המשאב הספציפי. אפשר ליצור מינוי בפרויקט אחד ולצרף אותו לנושא שנמצא בפרויקט אחר. חשוב לוודא שיש לכם את ההרשאות הנדרשות לכל פרויקט.
איך פועלים נושאים להודעות ללא מוצא
אם אפליקציה רשומה לא יכולה לאשר קבלה של הודעה, מערכת Pub/Sub מנסה לשלוח אותה שוב עד שהיא מקבלת אישור קבלה או עד שתוקף ההודעה פג. אחרי מספר ניסיונות מסירה שהוגדר מראש, Pub/Sub יכול להעביר את ההודעה שלא ניתן למסור לנושא של הודעות שלא ניתן למסור.
כש-Pub/Sub מעביר הודעה שלא ניתן למסור, הוא עוטף את ההודעה המקורית בהודעה חדשה ומוסיף מאפיינים שמזהים את מינוי המקור. ההודעה נשלחת לנושא להודעות ללא מוצא שצוין. מינוי נפרד שמצורף לנושא להודעות ללא מוצא יכול לקבל את ההודעות המועברות האלה לצורך ניתוח וניפוי באגים אופליין.
איך מחושב מספר הניסיונות המרבי למסירה
מערכת Pub/Sub סופרת רק ניסיונות מסירה כשנושא להודעות ללא מוצא מוגדר בצורה נכונה וכולל את הרשאות IAM הנכונות.
מספר ניסיונות המסירה המקסימלי הוא משוער, כי Pub/Sub מעביר הודעות שלא ניתן למסור על בסיס המאמץ המרבי. יכול להיות שהשירות יעביר הודעה אחרי פחות ניסיונות מהמספר שהוגדר, או שהוא ינסה למסור אותה עוד כמה פעמים לפני ההעברה.
יכול להיות שמספר הניסיונות למסור הודעה יעודכן לאפס, במיוחד אם מדובר במינוי מסוג pull עם מנויים לא פעילים. כתוצאה מכך, יכול להיות שההודעות יימסרו ללקוח של המנוי יותר פעמים מהמספר המקסימלי של ניסיונות המסירה שהוגדר.
מאפיינים של נושא להודעות ללא מוצא
אפשר להגדיר את מאפייני המינוי הבאים בנושא להודעות ללא מוצא.
מספר מקסימלי של ניסיונות מסירה: ערך מספרי שמציין את מספר ניסיונות המסירה ש-Pub/Sub מבצע להודעה ספציפית. אם לקוח המנוי לא יכול לאשר את קבלת ההודעה במסגרת מספר ניסיונות המסירה שהוגדר, ההודעה מועברת לנושא להודעות ללא מוצא.
- ערך ברירת המחדל = 5
- ערך מקסימלי = 100
- ערך מינימלי = 5
פרויקט עם נושא להודעות ללא מוצא: אם הנושא להודעות ללא מוצא נמצא בפרויקט אחר מהמינוי, צריך לציין את הפרויקט עם הנושא להודעות ללא מוצא. מגדירים את הנושא להודעות ללא מוצא לנושא אחר מזה שמצורף אליו המינוי.
הגדרת נושא להודעות ללא מוצא
בשלבים הבאים מתואר תהליך העבודה לשימוש בנושאים של הודעות שלא נמסרו.
יוצרים נושא (לשימוש כנושא להודעות ללא מוצא).
יוצרים מינוי לנושא להודעות ללא מוצא.
מפעילים את העברת מכתבים שלא נמסרו במינוי.
מצרפים את הנושא שיצרתם קודם למינוי.
מקצים את התפקידים הנדרשים לחשבון השירות של Pub/Sub כדי להשתמש בנושאי הודעות שלא נקלטו.
יצירת נושא לשימוש בנושאים של הודעות שלא נמסרו
אם כבר יצרתם נושא לשימוש במינוי, אתם יכולים לדלג על השלב הזה.
נכנסים לדף Topics במסוף Cloud de Confiance .
לוחצים על יצירת נושא.
מזינים מזהה נושא, לדוגמה,
my-test-topic.משאירים את האפשרות של מינוי ברירת המחדל ולוחצים על יצירה.
הגדרת נושא להודעות ללא מוצא במינוי
אפשר להגדיר נושא להודעות ללא מוצא במינוי חדש או במינוי קיים.
הגדרת נושא להודעות ללא מוצא במינוי חדש
אפשר ליצור מינוי ולהגדיר נושא להודעות ללא מוצא באמצעותCloud de Confiance המסוף, Google Cloud CLI, ספריות הלקוח או Pub/Sub API.
המסוף
כדי ליצור מינוי ולהגדיר נושא להודעות ללא מוצא, מבצעים את השלבים הבאים:
נכנסים לדף Subscriptions במסוף Cloud de Confiance .
לוחצים על יצירת מינוי.
מזינים את מזהה המינוי.
בוחרים את הנושא שרוצים להשתמש בו עם המינוי. המינוי מקבל הודעות מהנושא. זה לא הנושא להודעות ללא מוצא. בוחרים את זה בשלב הבא.
בקטע Dead lettering, בוחרים באפשרות Enable dead lettering.
בוחרים נושא להודעות ללא מוצא מהתפריט הנפתח.
אם לנושא להודעות ללא מוצא שנבחר אין מינוי, המערכת תבקש מכם ליצור מינוי.
בשדה Maximum delivery attempts (מספר ניסיונות המסירה המקסימלי), מציינים מספר שלם בין 5 ל-100.
לוחצים על יצירה.
לוחצים על חלונית הפרטים כדי לזהות פעולות לביצוע. אם לצד אחד מהפריטים מופיע סמל שגיאה , לוחצים על הפעולה לביצוע כדי לפתור את הבעיה.

gcloud
כדי ליצור מינוי ולהגדיר נושא להודעות ללא מוצא, משתמשים בפקודה gcloud pubsub subscriptions create:
gcloud pubsub subscriptions create subscription-id \ --topic=topic-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub PHP API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
Ruby
בדוגמה הבאה נעשה שימוש בספריית הלקוח של Ruby Pub/Sub בגרסה 3. אם אתם עדיין משתמשים בספרייה v2, כדאי לעיין במדריך להעברה לגרסה v3. כדי לראות רשימה של דוגמאות קוד של Ruby v2, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyהוראות ההגדרה במאמר התחלה מהירה של Pub/Sub באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
כדי לבצע אימות ב-Pub/Sub, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הגדרת נושא להודעות ללא מוצא למינוי קיים
אפשר לעדכן מינוי ולהגדיר נושא להודעות ללא מוצא באמצעותCloud de Confiance המסוף, ה-CLI של gcloud, ספריות הלקוח או Pub/Sub API.
המסוף
כדי לעדכן מינוי ולהגדיר נושא להודעות ללא מוצא, מבצעים את השלבים הבאים.
נכנסים לדף Subscriptions במסוף Cloud de Confiance .
לצד המינוי שרוצים לעדכן, לוחצים על אפשרויות נוספותmore_vert.
בתפריט ההקשר, בוחרים באפשרות עריכה.

בקטע Dead lettering, בוחרים באפשרות Enable dead lettering.
בוחרים נושא להודעות ללא מוצא מהתפריט הנפתח.
אם לנושא להודעות ללא מוצא שנבחר אין מינוי, המערכת תבקש מכם ליצור מינוי.
בשדה Maximum delivery attempts (מספר ניסיונות המסירה המקסימלי), מציינים מספר שלם בין 5 ל-100.
לוחצים על עדכון.
לוחצים על חלונית הפרטים כדי לזהות פעולות לביצוע. אם לצד אחד מהפריטים מופיע סמל שגיאה , לוחצים על הפעולה לביצוע כדי לפתור את הבעיה.

gcloud
כדי לעדכן מינוי ולהגדיר נושא להודעות ללא מוצא, משתמשים בפקודה gcloud pubsub subscriptions update:
gcloud pubsub subscriptions update subscription-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub PHP API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
Ruby
בדוגמה הבאה נעשה שימוש בספריית הלקוח של Ruby Pub/Sub בגרסה 3. אם אתם עדיין משתמשים בספרייה v2, כדאי לעיין במדריך להעברה לגרסה v3. כדי לראות רשימה של דוגמאות קוד של Ruby v2, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyהוראות ההגדרה במאמר התחלה מהירה של Pub/Sub באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
כדי לבצע אימות ב-Pub/Sub, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הקצאת תפקידי IAM לשימוש בנושאים של הודעות שלא ניתן למסור
כדי להעביר הודעות שלא ניתן למסור לנושא להודעות ללא מוצא, ל-Pub/Sub צריכות להיות הרשאות לבצע את הפעולות הבאות:
- פרסום הודעות בנושא.
- מאשרים את ההודעות, והן מוסרות מהמינוי.
Pub/Sub יוצרת ומנהלת חשבון שירות לכל פרויקט:
service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com.
כדי להעניק הרשאות העברה, צריך להקצות לחשבון השירות הזה תפקידים של בעל תוכן דיגיטלי ושל מנוי.
המסוף
כדי להעניק ל-Pub/Sub הרשאה לפרסם הודעות בנושא להודעות ללא מוצא, מבצעים את השלבים הבאים:
נכנסים לדף Subscriptions במסוף Cloud de Confiance .
לוחצים על שם המינוי שכולל את נושא להודעות ללא מוצא.
לוחצים על הכרטיסייה Dead lettering (החזרת מכתבים שלא נמסרו).
כדי להקצות תפקיד של בעל אפליקציה, לוחצים על הענקת תפקיד של בעל אפליקציה. אם תפקיד בעל התוכן הדיגיטלי הוקצה בהצלחה, יופיע סימן וי כחול .
כדי להקצות תפקיד של מנוי, לוחצים על הענקת תפקיד של מנוי. אם תפקיד בעל התוכן הדיגיטלי הוקצה בהצלחה, יופיע סימן וי כחול .
gcloud
כדי להעניק ל-Pub/Sub הרשאה לפרסם הודעות בנושא להודעות ללא מוצא, מריצים את הפקודה הבאה:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com" gcloud pubsub topics add-iam-policy-binding dead-letter-topic-name \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.publisher"
כדי לתת ל-Pub/Sub הרשאה לאשר הודעות שהועברו ולא ניתן היה למסור אותן, מריצים את הפקודה הבאה:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.s3ns-system.iam.gserviceaccount.com" gcloud pubsub subscriptions add-iam-policy-binding subscription-id \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.subscriber"
מעקב אחרי ניסיונות מסירה
אחרי שמפעילים נושא להודעות ללא מוצא במינוי, לכל הודעה מהמינוי הזה יש שדה שמציין את מספר הניסיונות למסירה:
הודעות שמתקבלות ממינוי שליפה כוללות את השדה
delivery_attempt.הודעות שמתקבלות ממינוי דחיפה כוללות את השדה
deliveryAttempt.
בדוגמאות הבאות אפשר לראות איך מקבלים את מספר הניסיונות למסירה:
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub PHP API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
Ruby
בדוגמה הבאה נעשה שימוש בספריית הלקוח של Ruby Pub/Sub בגרסה 3. אם אתם עדיין משתמשים בספרייה v2, כדאי לעיין במדריך להעברה לגרסה v3. כדי לראות רשימה של דוגמאות קוד של Ruby v2, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
כש-Pub/Sub מעביר הודעה שלא ניתן למסור לנושא להודעות ללא מוצא, הוא מוסיף לה את המאפיינים הבאים:
-
CloudPubSubDeadLetterSourceDeliveryCount: מספר הניסיונות להעברת הודעות למינוי המקור. -
CloudPubSubDeadLetterSourceSubscription: השם של מינוי המקור. -
CloudPubSubDeadLetterSourceSubscriptionProject: השם של הפרויקט שמכיל את מינוי המקור. -
CloudPubSubDeadLetterSourceTopicPublishTime: חותמת הזמן שבה ההודעה פורסמה במקור. -
CloudPubSubDeadLetterSourceDeliveryErrorMessage: הסיבה לכך שההודעה לא נמסרה ליעד המקורי. המאפיין הזה קיים רק במינויים לייצוא.
מעקב אחרי הודעות שהועברו
אחרי העברת הודעה שלא ניתן למסור, שירות Pub/Sub מסיר את ההודעה מהמינוי. אתם יכולים לעקוב אחרי הודעות מועברות באמצעות Cloud Monitoring.
אם מצרפים מינוי לנושא להודעות ללא מוצא, ההודעות ישתמשו במדיניות התפוגה של המינוי המצורף ולא בתקופת התפוגה של המינוי עם המאפיין של הנושא להודעות ללא מוצא.
subscription/dead_letter_message_count מדד
מתעד את מספר ההודעות שלא ניתן למסור ש-Pub/Sub מעביר ממינוי.
מידע נוסף זמין במאמר בנושא מעקב אחרי הודעות שלא נמסרו שהועברו.
הסרת נושא להודעות ללא מוצא
כדי להפסיק להעביר הודעות שלא ניתן למסור, צריך להסיר את נושא להודעות ללא מוצא מהמינוי.
אפשר להסיר נושא להודעות ללא מוצא ממינוי באמצעותCloud de Confiance המסוף, ה-CLI של gcloud או Pub/Sub API.
המסוף
כדי להסיר נושא להודעות ללא מוצא ממינוי:
נכנסים לדף Subscriptions במסוף Cloud de Confiance .
ברשימת המינויים, לוחצים על more_vert לצד המינוי שרוצים לעדכן.
בתפריט ההקשר, בוחרים באפשרות עריכה.

בקטע Dead lettering (הודעות שלא ניתן למסור), מבטלים את הסימון של Enable dead lettering (הפעלת הודעות שלא ניתן למסור).
לוחצים על עדכון.
gcloud
כדי להסיר נושא להודעות ללא מוצא ממינוי, משתמשים בפקודה gcloud pubsub subscriptions update עם הדגל --clear-dead-letter-policy:
gcloud pubsub subscriptions update subscription-id \ --clear-dead-letter-policy
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub PHP API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
Ruby
בדוגמה הבאה נעשה שימוש בספריית הלקוח של Ruby Pub/Sub בגרסה 3. אם אתם עדיין משתמשים בספרייה v2, כדאי לעיין במדריך להעברה לגרסה v3. כדי לראות רשימה של דוגמאות קוד של Ruby v2, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyהוראות ההגדרה במאמר התחלה מהירה של Pub/Sub באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Ruby API.
כדי לבצע אימות ב-Pub/Sub, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
תמחור
כששירות Pub/Sub מעביר הודעות שלא ניתן למסור, חלים החיובים הבאים:
- עמלות הפרסום מחויבות לחשבון לחיוב שמשויך לפרויקט שמכיל את נושא להודעות ללא מוצא.
- דמי המינוי על הודעות יוצאות מחויבים בחשבון לחיוב שמשויך לפרויקט שמכיל את המינוי עם המאפיין של נושא להודעות ללא מוצא.
אם מגדירים את המאפיין של נושא ההודעות שלא הועברו (dead-letter) במינוי, אבל המדיניות בנושא מיקום אחסון ההודעות של נושא ההודעות שלא הועברו לא מאפשרת את האזור שמכיל את המינוי, יחולו גם עמלות על פרסום הודעות יוצאות.
החיוב על פרסום הודעות יוצאות מתבצע בפרויקט שמכיל את נושא ההודעות שלא נמסרו. מידע נוסף על תמחור