במסמך הזה מוסבר איך ליצור נושא Pub/Sub עם Single Message Transforms (SMTs).
נושאי SMT מאפשרים לבצע שינויים קלים בנתוני ההודעות ובמאפיינים שלהן ישירות ב-Pub/Sub. התכונה הזו מאפשרת טיוב נתונים, סינון או המרת פורמט לפני שההודעות מתפרסמות בנושא.
כדי ליצור נושא עם SMT, אפשר להשתמש במסוף, ב-Google Cloud CLI, בספריית הלקוח או ב-Pub/Sub API. Cloud de Confiance
לפני שמתחילים
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאה שנדרשת ליצירת נושא עם SMT, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Pub/Sub Editor (roles/pubsub.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה pubsub.topics.create, שנדרשת כדי ליצור נושא עם SMT.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
יצירת נושא באמצעות כלי SMT
לפני שיוצרים נושא עם כלים לניהול נושאים, כדאי לעיין במסמכי התיעוד בנושא מאפיינים של נושא.
כדי ליצור Pub/Sub עם SMT אחד או יותר, מבצעים את השלבים הבאים. אפשר להפעיל עד 5 נושאי חיפוש לכל נושא.
המסוף
נכנסים לדף Topics של Pub/Sub במסוף Cloud de Confiance .
לוחצים על יצירת נושא.
בשדה Topic ID (מזהה הנושא), מזינים מזהה לנושא. מידע נוסף על מתן שמות לנושאים זמין בהנחיות למתן שמות.
בקטע טרנספורמציות, לוחצים על הוספת טרנספורמציה.
בוחרים את סוג הטרנספורמציה. מידע נוסף על סוגי ה-SMT הנתמכים זמין במאמר סוגי SMT.
קובעים את מאפייני ההגדרה של ה-SMT. קבוצת המאפיינים תלויה בסוג ה-SMT. מידע נוסף זמין במאמרי העזרה בנושא סוג ה-SMT הזה.
זה שינוי אופציונלי. כדי לאמת את ה-SMT, לוחצים על אימות. אם ה-SMT תקין, מוצגת ההודעה
"Validation passed". אחרת, תוצג הודעת שגיאה.כדי להוסיף עוד טרנספורמציה, לוחצים על הוספת טרנספורמציה וחוזרים על השלבים הקודמים.
כדי לסדר את ה-SMT בסדר מסוים, לוחצים על העברה למעלה או על העברה למטה. כדי להסיר SMT, לוחצים על מחיקה.
זה שינוי אופציונלי. כדי לבדוק SMT בהודעה לדוגמה, פועלים לפי השלבים הבאים:
לוחצים על בדיקת טרנספורמציות.
בחלון Test transform, בוחרים את הפונקציה שרוצים לבדוק.
בחלון הזנת הודעה, מזינים הודעה לדוגמה.
כדי להוסיף מאפיין להודעה, לוחצים על הוספת מאפיין ומזינים את המפתח והערך של המאפיין. אפשר להוסיף כמה מאפיינים.
לוחצים על בדיקה. התוצאה של החלת ה-SMT על ההודעה מוצגת בקטע הודעת הפלט.
כדי לסגור את החלון Test transforms, לוחצים על Close.
אם יוצרים יותר מ-SMT אחד, אפשר לבדוק את כל רצף ההמרות באופן הבא:
- בודקים את ה-SMT הראשון ברצף, כמו שמתואר בשלבים הקודמים.
- בוחרים את ה-SMT הבא. הודעת הקלט מאוכלסת מראש עם הודעת הפלט מהבדיקה הקודמת.
- ממשיכים לבדוק את כללי ה-SMT לפי הסדר, כדי לוודא שכל הרצף פועל כמו שצריך.
כדי ליצור את הנושא, לוחצים על יצירה.
gcloud
-
במסוף Cloud de Confiance , מפעילים את Cloud Shell.
בחלק התחתון של Cloud de Confiance המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
יוצרים קובץ YAML או JSON שמגדיר SMT אחד או יותר. הגדרת ה-YAML או ה-JSON תלויה בסוג ה-SMT. מידע נוסף זמין במאמר בנושא סוגים של SMT.
אם הקובץ כולל יותר מ-SMT אחד, Pub/Sub מבצע אותם לפי הסדר שבו הם מופיעים.
זה שינוי אופציונלי. כדי לאמת SMT, מריצים את הפקודה
gcloud pubsub message-transforms validate:gcloud pubsub message-transforms validate \ --message-transform-file=TRANSFORM_FILEמחליפים את מה שכתוב בשדות הבאים:
- TRANSFORM_FILE: הנתיב לקובץ YAML או JSON שמגדיר SMT יחיד. אם יוצרים כמה SMT, צריך לאמת כל אחד מהם בנפרד.
זה שינוי אופציונלי. כדי לבדוק SMT אחד או יותר על הודעת Pub/Sub לדוגמה, מריצים את הפקודה
gcloud pubsub message-transforms test:gcloud pubsub message-transforms test \ --message-transforms-file=TRANSFORMS_FILE \ --message=MESSAGE \ --attribute=ATTRIBUTESמחליפים את מה שכתוב בשדות הבאים:
- TRANSFORMS_FILE: הנתיב לקובץ YAML או JSON שמגדיר SMT אחד או יותר.
- MESSAGE: גוף ההודעה לדוגמה.
- ATTRIBUTES: אופציונלי. רשימה מופרדת בפסיקים של מאפייני הודעה. כל מאפיין הוא צמד מפתח/ערך בפורמט
KEY="VALUE".
הפקודה מפעילה את ה-SMT לפי הסדר, והפלט מכל SMT משמש כקלט ל-SMT הבא. הפקודה מחזירה את התוצאות של כל שלב.
כדי ליצור את הנושא, מריצים את הפקודה
gcloud pubsub topics create:gcloud pubsub topics create TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILEמחליפים את מה שכתוב בשדות הבאים:
- TOPIC_ID: המזהה או השם של הנושא שרוצים ליצור. הנחיות למתן שם לנושא מופיעות במאמר בנושא שמות משאבים. השם של נושא לא ניתן לשינוי.
- TRANSFORMS_FILE: הנתיב לקובץ YAML או JSON שמגדיר SMT אחד או יותר.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במאמר הפעלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub C# API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Pub/Sub.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.