במאמר הזה נסביר איך ליצור מינוי שליפה. אפשר להשתמש במסוף, ב-Google Cloud CLI, בספריית הלקוח או ב-Pub/Sub API כדי ליצור מינוי שליפה. Google Cloud
לפני שמתחילים
- מידע נוסף על מינויים
- בודקים אם העסק שלכם צריך מינוי שליפה.
- הסבר על מינויים לשליפת הודעות.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מינוי מסוג pull, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עריכת Pub/Sub (roles/pubsub.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת מינוי מסוג pull. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מינוי שליפה, צריך את ההרשאות הבאות:
-
pubsub.subscriptions.createבפרויקט -
pubsub.topics.attachSubscriptionבנושא
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מינויים חוצי-פרויקטים
אם יוצרים מינוי בפרויקט אחד לנושא בפרויקט אחר, צריכה להיות לכם הרשאת pubsub.subscriptions.create בפרויקט שבו אתם יוצרים את המינוי, והרשאת pubsub.topics.attachSubscription בנושא.
מאפיינים של מינוי לשליפה
מינויים מסוג pull תומכים בכל מאפייני המינויים הנפוצים. מינויים מסוג Pull תומכים גם במאפיין Exactly-once delivery (שליחה בדיוק פעם אחת), שמתואר בקטע הבא.
מסירה בדיוק פעם אחת
משלוח בדיוק פעם אחת. אם ההגדרה הזו מופעלת, Pub/Sub מבטיח מסירה בדיוק פעם אחת. אם לא מציינים, המינוי תומך בשליחה של כל הודעה לפחות פעם אחת.
יצירת מינוי שליפה
בדוגמאות הבאות אפשר לראות איך ליצור מינוי עם שליחת הודעות בשיטת pull, באמצעות הגדרות ברירת המחדל שסופקו.
המסוף
כדי ליצור מינוי שליפה, מבצעים את השלבים הבאים.
נכנסים לדף Subscriptions במסוף Google Cloud .
- לוחצים על יצירת מינוי.
בשדה Subscription ID (מזהה מינוי), מזינים שם.
מידע על מתן שם למינוי זמין במאמר הנחיות למתן שם לנושא או למינוי.
- בוחרים נושא מהתפריט הנפתח או יוצרים נושא חדש. המינוי מקבל הודעות מהנושא.
- משאירים את סוג המשלוח כמשיכה.
- משאירים את כל שאר ערכי ברירת המחדל.
- לוחצים על יצירה.
אפשר גם ליצור מינוי מהקטע נושאים. מקש הקיצור הזה שימושי לקישור נושאים למינויים.
נכנסים לדף Topics במסוף Google Cloud .
- לוחצים עלmore_vertלצד הנושא שרוצים ליצור לו מינוי.
- בתפריט ההקשר, בוחרים באפשרות יצירת מינוי.
מזינים את מזהה המינוי.
מידע על מתן שם למינוי זמין במאמר הנחיות למתן שם לנושא או למינוי.
- משאירים את סוג המשלוח כמשיכה.
- משאירים את כל שאר ערכי ברירת המחדל.
- לוחצים על יצירה.
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
כדי ליצור מינוי מסוג pull, משתמשים בשיטה
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 במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
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.
מעקב אחר מינויים מסוג pull
ב-Cloud Monitoring יש מספר מדדים למעקב אחרי מינויים.
רשימה של כל המדדים שקשורים ל-Pub/Sub והתיאורים שלהם מופיעה במסמכי התיעוד בנושא מעקב אחרי Pub/Sub.
אפשר גם לעקוב אחרי מינויים מתוך Pub/Sub.
המאמרים הבאים
- קבלת הודעות ממינוי שליפה.
- ליצור או לשנות מינוי באמצעות פקודות של
gcloud. - יוצרים או משנים מינוי באמצעות ממשקי API ל-REST.