הפעלת שילוב לאירוע של Salesforce Change Data Capture ‏ (CDC)

כאן מוסבר איך ליצור שילוב לדוגמה ב-Application Integration באמצעות הטריגר של Salesforce. בשלבים הבאים מוסבר איך להגדיר את הטריגר, המשימות, המחברים ומיפויי הנתונים שנדרשים להפעלת שילוב מלא.

במדריך הזה לתחילת העבודה, תשתמשו בטריגר של Salesforce כדי להפעיל שילוב ב-Application Integration עבור אירוע של Salesforce Change Data Capture ‏ (CDC), כמו שמוצג באיור הבא:

תרשים רצף לדוגמה תרשים רצף לדוגמה

טריגר של Salesforce נרשם לערוץ ההזדמנויות של Salesforce. שינויים בנתונים של ההזדמנות ב-Salesforce מפעילים Application Integration שמחלץ את הסטטוס של ההזדמנות ב-Salesforce. אם הסטטוס הוא 'סגור', השילוב מחלץ את פרטי ההזדמנות וכותב את הנתונים למכונה של Cloud SQL באמצעות מחבר. אם יש שינוי בנתונים, אבל הסטטוס נשאר פתוח, האינטגרציה שולחת הודעה לנושא Pub/Sub באמצעות מחבר.

בשלבים הבאים מוסבר איך להגדיר את הטריגר, המשימות, פרופילי האימות, הקצוות, המשתנים ומיפוי הנתונים שנדרשים להפעלה מוצלחת של השילוב.

לפני שמתחילים

  • מוודאים שהתכונה 'לכידת נתונים של שינויים' (CDC) מופעלת בחשבון הפיתוח שלכם ב-Salesforce. במדריך הזה אנחנו מניחים שיש לכם חשבון פיתוח קיים ב-Salesforce עם הגדרת המשתמשים וקבוצת ההרשאות הנדרשות. מידע על הגדרת משתמשים ב-Salesforce ועל קבוצות הרשאות זמין במאמר הגדרת טריגר ב-Salesforce.
  • מקצים את תפקידי ה-IAM הבאים לסוכן השירות של Application Integration(service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) בפרויקט Google Cloud.
    • Pub/Sub Editor
    • מנהל מערכת במחבר
    • Application Integration Invoker
    מידע נוסף על הקצאת תפקידים ב-IAM זמין במאמר תפקידים והרשאות ב-IAM.
  • יוצרים את הטבלה Cloud SQL לאחסון נתוני ה-CDC של Salesforce.
    1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud ומתחברים למכונת MySQL. כך מתחברים ל-Cloud SQL ל-MySQL מ-Cloud Shell.

      כניסה למכונות של Cloud SQL

    2. יוצרים את מסד הנתונים הבא של MySQL במכונת Cloud SQL:
      CREATE DATABASE SALESFORCE_TRIGGER_DEMO;
      USE SALESFORCE_TRIGGER_DEMO;
      
      CREATE TABLE OPPORTUNITIES
      (
           ID              INT NOT NULL AUTO_INCREMENT,
           NAME            VARCHAR(150) NOT NULL,
           AMOUNT          DOUBLE NOT NULL,
           DT_CLOSE        VARCHAR(150) NOT NULL,
           PRIMARY KEY     (ID)
      );
      COMMIT;
      
    3. מריצים את הפקודה הבאה כדי לוודא שהטבלה נוצרה.
      SELECT * FROM OPPORTUNITIES;
  • יוצרים חיבור ל-Cloud SQL ל-MySQL ב-Connectors. מידע מפורט מופיע במאמר בנושא יצירת חיבור ל-Cloud SQL ל-MySQL .
  • יוצרים חיבור ל-Cloud Pub/Sub ב-Connectors. מידע מפורט זמין במאמר בנושא יצירת חיבור ל-Cloud Pub/Sub .

יצירת שילוב חדש

כדי ליצור שילוב חדש, מבצעים את הפעולות הבאות:

  1. במסוף Google Cloud, עוברים לדף Application Integration.

    מעבר אל Application Integration

  2. בתפריט הניווט שמימין, לוחצים על שילובים כדי לפתוח את הדף שילובים.
  3. לוחצים על יצירת שילוב.
  4. מזינים שם ותיאור בתיבת הדו-שיח יצירת שילוב. לדוגמה, Demo-CDC-Opportunities.
  5. בוחרים אזור לשילוב.
  6. לוחצים על יצירה כדי לפתוח את כלי העיצוב של השילוב.

הוספה והגדרה של טריגר Salesforce

כדי להוסיף טריגר של Salesforce לשילוב ולהגדיר אותו, מבצעים את השלבים הבאים:

  1. בכלי לעיצוב שילובים, בוחרים באפשרות הוספת משימה או טריגר > טריגרים כדי להציג רשימה של טריגרים זמינים.
  2. לוחצים על הרכיב Salesforce trigger (טריגר של Salesforce) וממקמים אותו בכלי לעיצוב השילוב.
  3. לוחצים על הרכיב Salesforce trigger (טריגר של Salesforce) באזור העריכה כדי לפתוח את חלונית ההגדרות של הטריגר.
  4. מגדירים את השדות הבאים בקטע Trigger Input (קלט הטריגר):
    • סוג האירוע: בוחרים באפשרות Change Data Capture (CDC) (לכידת שינויים בנתונים) מהרשימה הנפתחת.
    • הגדרת מופע Salesforce: לוחצים על האפשרות + הוספת הגדרה חדשה של מופע Salesforce מהרשימה הנפתחת.

      מופיעה תיבת הדו-שיח Add Salesforce instance configuration.

      • שם החיבור של המכונה ב-Salesforce: מזינים שם חיבור למכונה ב-Salesforce. לדוגמה, CDC-PlatformUser.
      • דומיין ב-Salesforce: מזינים את שם הדומיין ב-Salesforce. אפשר למצוא את המידע הזה בדף חשבון Salesforce > הצגת הפרופיל.
      • פרופיל אימות: בוחרים פרופיל אימות. אם אין לכם פרופיל אימות, אתם צריכים ליצור פרופיל חדש. מידע נוסף זמין במאמר בנושא יצירת פרופיל אימות חדש.
      • לוחצים על הוספה.
    • הגדרת ערוץ Salesforce: לוחצים על האפשרות + הוספת הגדרה חדשה של ערוץ Salesforce מהרשימה הנפתחת.

      מופיעה תיבת הדו-שיח Add Salesforce channel (הוספת ערוץ Salesforce).

      • שם האובייקט ב-Salesforce: מזינים Opportunity.
      • לוחצים על הוספה.
    • פעולה: בוחרים באפשרות עדכון מהרשימה הנפתחת.

    השינויים במאפיינים נשמרים אוטומטית.

הוספה והגדרה של משימות

במדריך הזה משתמשים במשימות Connectors (מחברים) ו-Data Mapping (מיפוי נתונים). בהמשך מפורטים פרטי ההגדרה של כל אחת מהמשימות האלה.

הגדרת משימה של Connectors עם חיבור ל-Cloud SQL ל-MySQL

כדי להגדיר משימת Connectors להוספת רשומות לטבלה קיימת ב-Cloud SQL באמצעות חיבור Cloud SQL ל-MySQL, פועלים לפי השלבים הבאים:

  1. בכלי לעיצוב שילובים, לוחצים על +הוספת משימה או טריגר > משימות כדי להציג את רשימת המשימות הזמינות.
  2. לוחצים על הרכיב Connectors (מחברים) וממקמים אותו בכלי לעיצוב השילוב.
  3. לוחצים על רכיב המשימה Connectors (מחברים) בכלי העיצוב כדי להציג את חלונית ההגדרות של המשימה Connectors.
  4. לוחצים על ומשנים את השם של Connectors (מחברים) ל-Insert row to Cloud SQL.
  5. לוחצים על הגדרת המשימה.

    מופיעה תיבת הדו-שיח Configure connector task (הגדרת משימת מחבר).

  6. בתיבת הדו-שיח Configure connector task, מבצעים את הפעולות הבאות:
    1. בוחרים את אזור החיבור.
    2. אחרי שבוחרים אזור, מופיעה העמודה Connection. בוחרים את החיבור ל-Cloud SQL ל-MySQL מתוך רשימת החיבורים הזמינים.
    3. אחרי שבוחרים חיבור, מופיעה העמודה Type. בוחרים באפשרות ישויות ואז באפשרות הזדמנויות מתוך רשימת הישויות הזמינות.
    4. אחרי שבוחרים סוג, מופיעה העמודה Operation. לוחצים על יצירה.
    5. לוחצים על סיום כדי להשלים את הגדרת הקישור ולסגור את החלונית.

הגדרת משימה של Connectors עם חיבור ל-Cloud Pub/Sub

כדי להגדיר משימת Connectors לפרסום הודעה ב-Pub/Sub באמצעות חיבור Cloud Pub/Sub, מבצעים את השלבים הבאים:

  1. בכלי לעיצוב שילובים, לוחצים על +הוספת משימה או טריגר > משימות כדי להציג את רשימת המשימות הזמינות.
  2. לוחצים על הרכיב Connectors (מחברים) וממקמים אותו בכלי לעיצוב השילוב.
  3. לוחצים על רכיב המשימה Connectors (מחברים) בכלי העיצוב כדי להציג את חלונית ההגדרות של המשימה Connectors.
  4. לוחצים על ומשנים את השם של Connectors (מחברים) ל-Publish to cloud pub/sub.
  5. לוחצים על הגדרת המשימה.

    מופיעה תיבת הדו-שיח Configure connector task (הגדרת משימת מחבר).

  6. בתיבת הדו-שיח Configure connector task, מבצעים את הפעולות הבאות:
    1. בוחרים את אזור החיבור.
    2. אחרי שבוחרים אזור, מופיעה העמודה Connection. בוחרים את חיבור ה-Pub/Sub מהרשימה של החיבורים הזמינים.
    3. אחרי שבוחרים חיבור, מופיעה העמודה Type. בוחרים באפשרות Actions (פעולות) ואז באפשרות publishMessage (פרסום הודעה) מתוך רשימת הפעולות הזמינות.
    4. לוחצים על סיום כדי להשלים את הגדרת הקישור ולסגור את החלונית.

הגדרת המשימה 'מיפוי נתונים'

כדי להגדיר משימת מיפוי נתונים:

  1. בוחרים באפשרות הוספת משימה או טריגר > משימות כדי להציג רשימה של משימות זמינות.
  2. לוחצים על הרכיב מיפוי נתונים וממקמים אותו בכלי לעיצוב שילובים.
  3. לוחצים על הרכיב מיפוי נתונים בכלי העיצוב כדי לפתוח את חלונית ההגדרות של המשימה.
  4. לוחצים על פתיחת הכלי למיפוי נתונים.

    הכלי למיפוי נתונים מאפשר לכם למפות משתני קלט למשתני הפלט הרצויים, באמצעות פונקציות ההמרה הזמינות. הפלט זמין כמשתנה לכל משימת שילוב או טריגר אחרים. פרטים נוספים על העברת נתונים כמשתנים זמינים במאמר שימוש במשתנים ב-Application Integration.

  5. לוחצים על + הוספת משתנה חדש ויוצרים את משתני הפלט הבאים:
    שם משתנה הפלט סוג נתונים
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. יוצרים את המיפוי הבא בין המשתנה SalesforceTriggerCdcPayload לבין המשתנים Connector input payload, כמו שמוצג בטבלה הבאה:
    קלט תשובה
    SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN() OpportunityIsClosed
    SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING() OpportunityId
    OpportunityId.TO_DOUBLE() connectorInputPayload.ID(Insert row to Cloud SQL)
    SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING() connectorInputPayload.NAME(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE() connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING() connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
    OpportunityId.CONCAT(" is still open") PubSubMessage
    PubSubMessage connectorInputPayload.message(Publish to cloud pub/sub)
  7. אחרי שמסיימים את המיפוי, סוגרים את החלונית. כל השינויים יישמרו אוטומטית.

הוספת חיבור קצה

קשת היא חיבור בין שני רכיבים בשילוב, ותנאי קצה מאפשר לכם לציין את התנאים שצריכים להתקיים כדי שהשליטה בשילוב תעבור למשימה שמחוברת לקשת. מידע נוסף על קצוות ותנאי קצה זמין במאמר קצוות.

  1. מוסיפים חיבור קצה מהרכיב Salesforce trigger לרכיב Data Mapping.
  2. מוסיפים חיבור קצה מהאלמנט מיפוי נתונים לאלמנט Insert row to Cloud SQL Connector עם תנאי הקצה הבא:
      $OpportunityIsClosed$ = TRUE
  3. מוסיפים עוד חיבור קצה מהרכיב מיפוי נתונים לרכיב Cloud Pub/Sub Connector עם תנאי הקצה הבא:
      $OpportunityIsClosed$ = FALSE
תמונה לדוגמה שבה מוצגים חיבורי הקצה תמונה לדוגמה שבה מוצגים חיבורי הקצה

בדיקת השילוב

כדי לבדוק את השילוב החדש:

  1. בסרגל הכלים של כלי העיצוב של השילוב, לוחצים על בדיקה ואז בוחרים באפשרות טריגר של Salesforce.

    מופיעה תיבת הדו-שיח Test Integration (בדיקת השילוב).

  2. לוחצים על Test integration (בדיקת השילוב).

כדי לבדוק את המשימה של Cloud SQL, מתחברים למופע Salesforce ומשנים את הסטטוס של הזדמנות ל-closed (נסגרה).

כדי לבדוק את המשימה של Pub/Sub, מתחברים למופע של Salesforce ומשנים פרט אחר בהזדמנות, אבל משאירים את הסטטוס של ההזדמנות כ'פתוח'.

מידע נוסף על בדיקות זמין במאמר בדיקה ופרסום של אינטגרציות.

כדי לוודא שהשילוב בוצע בהצלחה:

  • נכנסים לדף Cloud SQL.

    מעבר אל Cloud SQL

    בודקים את מסד הנתונים ואת היומנים של Cloud SQL כדי לוודא שהשורה החדשה הוכנסה.
  • נכנסים לדף Pub/Sub.

    מעבר אל Pub/Sub

    בוחרים את נושא ה-Pub/Sub ולוחצים על View messages כדי לאשר את קבלת ההודעה שנשלחה על ידי השילוב.
  • בודקים את היומנים של Application Integration כדי לראות את הסטטוס של שילוב מסוים. כדי להציג את היומנים:
    1. בסרגל הכלים של כלי העיצוב של השילוב, לוחצים על Logs (יומנים).
    2. בדף יומני הרצה אפשר לראות פרטים על כל ניסיון להפעיל שילוב. כל רשומה כוללת פרטים על ניסיון ההפעלה, כולל:
      • שם השילוב
      • מזהה ביצוע
      • סטטוס
      • שעת התחלה
      • משך
      • גרסת השילוב
      • מזהה מפעיל
    3. לוחצים על החץ להרחבה (>) לצד השילוב שהופעל כדי לראות רשימה מורחבת של משימות ומשתנים בשילוב, יחד עם סטטוס המשימה ומטעני משתנים.