טריגר Cloud Pub/Sub
הטריגר Cloud Pub/Sub מאפשר להפעיל את האינטגרציה על סמך האירועים בתוכנת הביניים Pub/Sub.
באמצעות הטריגר הזה, אפשר להפעיל שילוב בכל פעם שבעל תוכן דיגיטלי כותב הודעה לנושא שבחרתם. הנושא יכול להיות קיים באותו פרויקט Google Cloud כמו השילוב, או בפרויקט Google Cloud אחר. כשמפעילים את הטריגר הזה, ההודעה שפורסמה נכתבת גם
בCloudPubSubMessage משתנה הפלט. בהתאם לדרישות שלכם,
אתם יכולים להשתמש במשתנה הזה בטריגרים או במשימות שמופעלים בהמשך.
כדי ללמוד איך ליצור שילוב לדוגמה באמצעות Application Integration והטריגר Cloud Pub/Sub, אפשר לעיין במאמר האזנה לנושא ב-Cloud Pub/Sub ושליחת אימייל.
באמצעות הטריגר הזה, אפשר להפעיל שילוב בכל פעם שבעל תוכן דיגיטלי כותב הודעה לנושא שבחרתם. כשמפעילים את הטריגר הזה, הוא גם כותב את ההודעה שפורסמה למשתנה הפלט CloudPubSubMessage. בהתאם לדרישות שלכם, אתם יכולים להשתמש במשתנה הזה בטריגרים או במשימות שמופעלים בהמשך.
לפני שמתחילים
לפני שמגדירים את הטריגר של Cloud Pub/Sub, צריך לוודא שמבצעים את המשימות הבאות בפרויקט Google Cloud :
- מקצים למשתמש שיוצר את הטריגר את ההרשאה Project IAM Admin (אדמין IAM של פרויקט) (
roles/resourcemanager.projectIamAdmin). - מפעילים את Pub/Sub API בפרויקט של Google Cloud השילוב.
- אדמין של Access Context Manager (
roles/accesscontextmanager.policyAdmin) - עריכה ב-Access Context Manager (
roles/accesscontextmanager.policyEditor) - בעל הרשאת קריאה ב-Access Context Manager (
roles/accesscontextmanager.policyReader) - מוודאים שיש לכם נושא Pub/Sub. כדי ליצור נושא חדש ב-Pub/Sub:
- נכנסים לדף Pub/Sub topics במסוף Cloud.
- לוחצים על יצירת נושא.
- בשדה Topic ID, נותנים שם ייחודי לנושא.
- לוחצים על Save.
אם Pub/Sub API מוגן על ידי גבולות גזרה לשירות, צריך להגדיר את תפקידי ה-IAM הבאים כדי לנהל את גבולות הגזרה לשירות האלה:
במאמר הענקה, שינוי וביטול גישה מוסבר איך נותנים תפקידים לחשבונות משתמשים.
הוספת טריגר Cloud Pub/Sub
כדי להוסיף טריגר Cloud Pub/Sub לשילוב חדש או קיים, פועלים לפי השלבים הבאים:- נכנסים לדף Application Integration במסוף Google Cloud .
- בתפריט הניווט, לוחצים על Integrations (שילובים).
מוצגת רשימה של כל השילובים שזמינים בפרויקט Google Cloud בדף Integrations List.
- בוחרים שילוב קיים או לוחצים על יצירת שילוב כדי ליצור שילוב חדש.
אם יוצרים שילוב חדש:
- מזינים שם ותיאור בחלונית יצירת שילוב.
- בוחרים אזור לשילוב.
- בוחרים חשבון שירות לאינטגרציה. אפשר לשנות או לעדכן את פרטי חשבון השירות של שילוב בכל שלב מחלונית סיכום השילוב בסרגל הכלים של השילוב.
- לוחצים על יצירה.
השילוב החדש שנוצר ייפתח בכלי השילובים.
- בסרגל הניווט של כלי העריכה של השילוב, לוחצים על טריגרים כדי לראות את רשימת הטריגרים הזמינים.
- לוחצים על רכיב Cloud Pub/Sub trigger וממקמים אותו באזור העיצוב.
הגדרת טריגר של Cloud Pub/Sub
לוחצים על הרכיב Cloud Pub/Sub trigger (טריגר Cloud Pub/Sub) בעורך השילוב כדי להציג את חלונית ההגדרות של הטריגר, ואז מבצעים את המשימות הבאות:
- בשדה Pub/Sub topic מציינים את הנושא שהטריגר צריך להאזין לו בפורמט הבא:
projects/PROJECT_ID/topics/TOPIC_ID
כדי לראות את כל הנושאים שזמינים ב Google Cloud פרויקט, אפשר לעיין בעמודה שם הנושא בנושאים. אפשר גם לבחור נושא מ Google Cloud פרויקט אחר.
מחליפים את מה שכתוב בשדות הבאים:-
PROJECT_ID: הפרויקט שבו נוצר הנושא. Google Cloud -
TOPIC_ID: המזהה של נושא ה-Pub/Sub. הנושא יכול להיות באותו פרויקט Google Cloud כמו הפרויקט של השילוב, או בפרויקט אחר. Google Cloud
-
- בוחרים את חשבון השירות שבו רוצים להשתמש כדי להפעיל את השילוב. אפשר גם לבחור משתנה הגדרה שיצרתם בשילוב. הערך של משתנה ההגדרה צריך להיות כתובת האימייל בחשבון שירות בפורמט הבא:
SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com. לדוגמה,application-integration-invoke@project123.iam.gserviceaccount.com.במאמר יצירת משתנה מוסבר איך יוצרים משתנה הגדרה, ובמאמר יצירת חשבון שירות מוסבר איך יוצרים חשבון שירות.
אם בוחרים משתנה תצורה, צריך להקצות את התפקידים הנדרשים לחשבון השירות שהמשתנה מתייחס אליו. למידע נוסף על הקצאת תפקידים, ראו תפקידי IAM נדרשים.
אם אין חשבונות שירות, יוצרים חשבון שירות על ידי לחיצה על Create new (יצירת חשבון חדש) ברשימה Service account (חשבון שירות).
כברירת מחדל, תקופת התפוגה של המינויים מוגדרת ל-never expire. אם רוצים להגדיר ערך אחר לתפוגה, במסוף Google Cloud עוברים אל דף המינוי ל-Pub/Sub ועורכים את המינוי.
תפקידי IAM שנדרשים לחשבונות שירות
כשבוחרים חשבון שירות ולוחצים על Grant, התפקידים הבאים מוקצים אוטומטית לחשבונות השירות השונים.
| חשבון שירות | הוענק תפקיד ב-IAM |
|---|---|
חשבון השירות שמוגדר כברירת מחדל ב-Application Integration: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com |
אם Google Cloud הפרויקט של נושא ה-Pub/Sub שונה מ Google Cloudהפרויקט של השילוב, לחשבון השירות שמוגדר כברירת מחדל צריך להיות התפקיד 'עריכה ב-Pub/Sub' ב Google Cloud פרויקט של הנושא. |
| חשבון השירות שבוחרים להפעלה הזו |
Application Integration Invoker (roles/integrations.integrationInvoker)
|
פלט הטריגר
לכל אירוע, הטריגר של Cloud Pub/Sub יוצר משתנה פלט CloudPubSubMessage שאפשר להשתמש בו במשימות בהמשך. המשתנה הוא בפורמט JSON ויש לו את המבנה PubsubMessage.
יצירת מינוי עם מסנן לשילוב
אם רוצים להגדיר מסנן למינוי Pub/Sub כדי לעבד אירועים ספציפיים בשילוב, פועלים לפי השלבים הבאים:
- מפרסמים את השילוב עם הטריגר Cloud Pub/Sub שהוגדר. בשלב הזה נוצר המינוי בפרויקט השילוב.
- נכנסים לדף Subscriptions במסוף Google Cloud .
- פותחים את המינוי ומעתיקים את כל הפרטים, כולל שם המינוי.
- מוחקים את המינוי הקיים.
- יוצרים מינוי חדש עם כל הפרטים של המינוי שנמחק – כולל שם המינוי – שהעתקתם בשלב 3, וגם מוסיפים מסנן במינוי החדש.
המינוי החדש שנוצר מפעיל את השילוב עם הודעות מסוננות.
החרגות בהסכם רמת השירות
הטריגר Cloud Pub/Sub תלוי במוצר Pub/Sub. מכיוון שהתלות הזו היא חיצונית ל-Application Integration, התנאים וההגבלות של הסכם רמת השירות (SLA) של Application Integration חלים רק כשגורם ההפעלה של Cloud Pub/Sub מתחיל בהצלחה את ההרצה של שילוב active.
שימוש בטריגרים של Pub/Sub עם VPC Service Controls
כשמגדירים טריגר Pub/Sub ב-Application Integration ומנסים לפרסם את האינטגרציה, יצירת המינוי הנדרש ל-Pub/Sub נכשלת אם Pub/Sub API מוגן על ידי גבולות גזרה לשירות ב-VPC Service Controls.
גבולות שירות אוכפים גבולות אבטחה סביב Google Cloud המשאבים שלכם, והמדיניות הזו יכולה למנוע מ-Application Integration ליצור את מינוי Pub/Sub הנדרש במהלך פרסום השילוב.
כדי להגדיר ולפרסם בהצלחה טריגר Pub/Sub בתרחישים האלה, מבצעים את השלבים הבאים:
- מסירים באופן זמני את Pub/Sub API מ-גבולות גזרה לשירות:
- נכנסים לדף VPC Service Controls במסוף Google Cloud .
- בוחרים את הפרויקט Google Cloud שכולל את נושא ה-Pub/Sub שבו רוצים להשתמש בשילוב.
- (אופציונלי) אם לא מוגדרת מדיניות גישה לפרויקט שנבחר, תוצג ההודעה No VPC Service Perimeters found in current scope (לא נמצאו גבולות שירות VPC בהיקף הנוכחי). במקרה כזה, לוחצים על מעבר להיקף הארגון כדי לעבור לרמת הארגון.
- בדף VPC Service Controls (אמצעי בקרה של שירות VPC), בטבלה, לוחצים על השם של גבולות גזרה לשירות שרוצים לשנות.
- בדף פרטים של גבולות גזרה לשירות, לוחצים על עריכה.
- בחלונית Restricted services, מסננים את שירות
pubsub.googleapis.comובוחרים בו. - לוחצים על הסרת הפריטים שנבחרו.
- לוחצים על Save. בתיבת הדו-שיח לאישור, לוחצים על אישור כדי להסיר את Pub/Sub API מגבולות הגזרה לשירות של VPC Service Controls.
- מוסיפים ומגדירים את הטריגר Pub/Sub בשילוב.
- מפרסמים את השילוב.
- מוסיפים את Pub/Sub API בחזרה לגבולות גזרה לשירות:
- עוברים לדף VPC Service Controls.
- בדף VPC Service Controls, בטבלה, לוחצים על אותו גבולות גזרה לשירות ששיניתם קודם.
- בדף פרטים של גבולות גזרה לשירות, לוחצים על עריכה.
- בחלונית Restricted services (שירותים מוגבלים), לוחצים על Add services (הוספת שירותים).
- מסננים ובוחרים את השירות
pubsub.googleapis.com. - לוחצים על הוספת השירותים שנבחרו.
- לוחצים על Save. בתיבת הדו-שיח לאישור, לוחצים על Confirm כדי להוסיף את Pub/Sub API בחזרה לגבולות הגזרה לשירות של VPC Service Controls.
תמחור
הטריגר של Cloud Pub/Sub והטריגר של Salesforce לא מחייבים יצירה של מחבר. עם זאת, אם אתם משתמשים במשימת המחברים כדי להתחבר ל-Pub/Sub או ל-Salesforce, תחויבו על השימוש במחבר. מידע על התמחור זמין במאמר תמחור של Application Integration.
לתשומת ליבכם
- הגודל המקסימלי של הודעת Pub/Sub הוא 10MB. כדי להבין את כל המגבלות של Pub/Sub, אפשר לעיין במאמר מכסות ומגבלות ב-Pub/Sub.
- יכול להיות ש-Pub/Sub יכתוב את אותה הודעה יותר מפעם אחת לנושא. כדי להבין את ההתנהגות הזו של Pub/Sub, אפשר לעיין במאמר מסירה לפחות פעם אחת.
לכן, צריך לתכנן את השילוב כך שיהיה אידמפוטנטי, כדי שלא תהיה אפשרות לכתוב הודעה יותר מפעם אחת בנושא.
השדה
message_idבכותרת ההודעה מזהה באופן ייחודי הודעה ב-Pub/Sub. - השירות Application Integration מאפשר עכשיו לפרסם הודעות בנושאים ב-Pub/Sub. אפשר להשתמש במקשי הזמנה כדי להשיג עיבוד הודעות לפי העיקרון 'נכנס ראשון, יוצא ראשון' (FIFO). כשמגדירים מפתח הזמנה במשימה פרסום הודעה ב-Pub/Sub, ההודעות מתקבלות בסדר הנכון. השינוי הזה משפר את המהימנות של שילובים שדורשים עיבוד מסודר של הודעות. מידע נוסף על שימוש במפתחות הזמנה כשמפרסמים הודעות זמין במאמר שימוש במפתחות הזמנה.
- אם מבטלים את הפרסום של שילוב, המינוי ל-Pub/Sub לא נמחק כדי למנוע אובדן של הודעות. עם זאת, אם מוחקים את הגרסה שפורסמה או את כל גרסאות השילוב של שילוב מסוים, גם המינוי ל-Pub/Sub נמחק.
מכסות ומגבלות
מידע על מכסות ומגבלות זמין במאמר מכסות ומגבלות.
המאמרים הבאים
- מידע על כל המשימות והטריגרים
- איך בודקים ומפרסמים שילוב
- מידע נוסף על טיפול בשגיאות
- מידע נוסף על יומני ביצוע של שילובים