במאמר הזה מוסבר איך ליצור מינוי שליפה. אפשר להשתמש במסוף Google Cloud , ב-Google Cloud CLI, בספריית הלקוח או ב-Pub/Sub API כדי ליצור מינוי שליפה.
לפני שמתחילים
- מידע נוסף על מינויים
- בודקים אם העסק צריך מינוי שליפה.
- הסבר על האופן שבו פועלים מינויים לשליפת הודעות.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מינוי מסוג pull, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עריכת Pub/Sub (roles/pubsub.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת מינוי מסוג pull. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מינוי שליפה, נדרשות ההרשאות הבאות:
-
pubsub.subscriptions.createבפרויקט -
pubsub.topics.attachSubscriptionבנושא
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מינויים חוצי-פרויקטים
אם אתם יוצרים מינוי בפרויקט אחד לנושא בפרויקט אחר, צריכה להיות לכם הרשאת pubsub.subscriptions.create בפרויקט שבו אתם יוצרים את המינוי, והרשאת pubsub.topics.attachSubscription בנושא.
יצירת מינוי שליפה
המסוף
כדי ליצור מינוי שליפה, פועלים לפי השלבים הבאים:
נכנסים לדף Subscriptions במסוף Google Cloud .
לוחצים על יצירת מינוי.
כותבים שם בשדה Subscription ID.
מידע על מתן שמות למינויים זמין במאמר הנחיות למתן שמות לנושאים או למינויים.
ברשימה Pub/Sub topic, בוחרים נושא שהמינוי יקרא ממנו.
בקטע Delivery type, בוחרים באפשרות Pull.
אופציונלי: בקטע Transforms, מוסיפים טרנספורמציה אחת או יותר של הודעה בודדת (SMT). מידע נוסף זמין במאמר יצירת מינוי עם SMT.
אופציונלי: בשדה Filter, מזינים ביטוי סינון כדי לסנן הודעות מהמינוי. מידע נוסף מופיע במאמר בנושא סינון הודעות ממינוי.
בקטע Retry policy (מדיניות ניסיון חוזר), בוחרים באחת מהאפשרויות. מידע נוסף זמין במאמר בנושא מדיניות הניסיון החוזר לחיוב מינוי.
אופציונלי: מפעילים נושא להודעות ללא מוצא כדי לקבל הודעות שלא ניתן למסור.
מסמנים את תיבת הסימון Dead lettering (הודעות שלא ניתן למסור).
ברשימה Dead letter topic, בוחרים או יוצרים את הנושא להודעות ללא מוצא.
בשדה מספר ניסיונות המסירה המקסימלי, מזינים את המספר המקסימלי של ניסיונות המסירה.
אופציונלי: בקטע Delivery properties, מפעילים או משביתים את אפשרויות המסירה הבאות:
אופציונלי: בקטע Acknowledgement deadline (מועד אחרון לאישור), מגדירים את המועד האחרון לעיבוד ולאישור ההודעות על ידי המנוי. מידע נוסף זמין במאמר בנושא הארכת זמן האישור באמצעות ניהול חכירה.
אופציונלי: בקטע Lifetime options, מגדירים את משך הזמן שבו ההודעות יישמרו במינוי.
בקטע Message retention duration, מציינים את משך הזמן שבו נשמרות הודעות שלא אושרו.
כדי לשמור הודעות שאושרה קבלתן וגם הודעות שלא אושרה קבלתן, מסמנים את התיבה שמירת הודעות שאושרה קבלתן.
למידע נוסף, קראו את המאמר הגדרת שמירת הודעות במינוי.
אופציונלי: בשדה תקופת התפוגה, בוחרים אפשרות:
כדי להגדיר את תפוגת המינוי, מסמנים את התיבה תפוגה אחרי מספר ימים של חוסר פעילות. מזינים את מספר הימים שבהם המינוי יכול להישאר לא פעיל לפני שמערכת Pub/Sub מוחקת אותו.
כדי להשבית את תפוגת המינוי, מסמנים את התיבה Never expire (לעולם לא יפוג).
מידע נוסף זמין במאמר בנושא תפוגת מינוי.
לוחצים על יצירה.
אפשר גם ליצור מינוי מהקטע נושאים. מקש הקיצור הזה שימושי לקישור נושאים למינויים.
נכנסים לדף Topics במסוף Google Cloud .
לוחצים על more_vert לצד הנושא שרוצים ליצור לו מינוי.
בתפריט ההקשר, לוחצים על Create subscription.
בדף Add subscription to topic, מבצעים את השלבים שמתוארים בתהליך הקודם. מזהה הנושא מתמלא באופן אוטומטי.
gcloud
-
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של מסוף Google Cloud יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
-
כדי ליצור מינוי שליפה, מריצים את הפקודה
gcloud pubsub subscriptions create.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
מחליפים את מה שכתוב בשדות הבאים:
-
SUBSCRIPTION_ID: השם או המזהה של מינוי המשיכה החדש. -
TOPIC_ID: השם או המזהה של הנושא.
-
REST
כדי ליצור מינוי שליפה, משתמשים ב-method
projects.subscriptions.create:
בקשה:
הבקשה צריכה להיות מאומתת באמצעות אסימון גישה בכותרת Authorization. כדי לקבל טוקן גישה ל-Application Default Credentials הנוכחיים:
gcloud auth application-default print-access-token.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
גוף הבקשה:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
כאשר:
- PROJECT_ID הוא מזהה הפרויקט.
- SUBSCRIPTION_ID הוא מזהה המינוי שלך.
- מספר הנושא שלך הוא TOPIC_ID.
תשובה:
{
"name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID",
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"pushConfig": {},
"ackDeadlineSeconds": 10,
"messageRetentionDuration": "604800s",
"expirationPolicy": {
"ttl": "2678400s"
}
}C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברת נתונים ל-v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במסמכי העזר של ה-API של Pub/Sub Go.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.
Node.ts
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של 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.
Rust
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Rust במאמר מדריך מהיר: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Rust API.
מעקב אחרי מינויים מסוג pull
ב-Cloud Monitoring יש מספר מדדים למעקב אחרי מינויים.
רשימה של כל המדדים שזמינים לגבי Pub/Sub והתיאורים שלהם מופיעה במסמכי התיעוד בנושא מעקב אחרי Pub/Sub.
אפשר גם לעקוב אחרי מינויים ב-Pub/Sub.
המאמרים הבאים
- קבלת הודעות ממינוי שליפה.
- ליצור או לשנות מינוי באמצעות פקודות של
gcloud. - ליצור או לשנות מינוי באמצעות ממשקי API ל-REST.