טעינת נתונים מ-Salesforce Marketing Cloud ל-BigQuery

אפשר לטעון נתונים מ-Salesforce Marketing Cloud ל-BigQuery באמצעות מחבר שירות העברת הנתונים ל-BigQuery עבור Salesforce Marketing Cloud. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Salesforce Marketing Cloud ל-BigQuery.

מגבלות

העברות נתונים מ-Salesforce Marketing Cloud כפופות למגבלות הבאות:

  • כל הגדרה של העברת נתונים יכולה לתמוך רק בהרצה אחת של העברת נתונים בכל זמן נתון. אם מתוכננת העברת נתונים שנייה לפני שההעברה הראשונה מסתיימת, רק ההעברה הראשונה תושלם. כל העברת נתונים אחרת שחופפת להעברה הראשונה תדלג.
    • כדי להימנע מדילוג על העברות במסגרת הגדרת העברה יחידה, מומלץ להגדיר את תדירות החזרה כדי להגדיל את משך הזמן בין העברות של נתונים בכמות גדולה.
  • כדי להשתמש בצירוף רשת בהעברת הנתונים הזו, צריך קודם ליצור צירוף רשת על ידי הגדרת כתובת IP סטטית.
  • אם המכונה הווירטואלית (VM) והחיבור לרשת שהגדרתם נמצאים באזורים שונים, יכול להיות שתהיה תנועה של נתונים בין אזורים כשמעבירים נתונים מ-Salesforce Marketing Cloud.

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

בקטעים הבאים מתוארים השלבים שצריך לבצע לפני שיוצרים העברת נתונים של Salesforce Marketing Cloud.

דרישות מוקדמות ל-Salesforce Marketing Cloud

כדי ליצור העברת נתונים מ-Salesforce Marketing Cloud, צריך את הפרטים הבאים:

שם הפרמטר תיאור
subdomain תת-הדומיין של ה-API, שמופיע ב-URI הבסיסי. לדוגמה, ב-URI הבסיסי של האימות https://SUBDOMAIN.auth.marketingcloudapis.com/, הערך של תת-הדומיין הוא SUBDOMAIN.
instance המופע של שרת ה-API, שמופיע בכתובת ה-URL אחרי שנכנסים לאפליקציית Salesforce Marketing Cloud. ערך המופע כולל את האות s ואחריה ערך מספרי. לדוגמה, בכתובת ה-URL ‏ `https://mc.s4.exacttarget.com/`, ערך המופע הוא `s4`. מידע נוסף זמין במאמר בנושא איתור מיקום הערימה בחשבון Marketing Cloud.
clientId מזהה הלקוח משילוב ה-API. עוברים אל הגדרה > אפליקציות > חבילות מותקנות, ואז לוחצים על שם החבילה. מזהה הלקוח מופיע בקטע Components (רכיבים).
clientSecret סוד הלקוח של שילוב האפליקציה. עוברים אל הגדרה > אפליקציות > חבילות מותקנות, ואז לוחצים על שם החבילה. סוד הלקוח מופיע בקטע Components.
Salesforce Marketing Cloud objects to transfer יוצרים רשימה של אובייקטים של Salesforce Marketing Cloud שרוצים לכלול בהעברה הזו. אפשר לבחור אובייקטים כשמגדירים את ההעברה. רשימת האובייקטים הנתמכים מופיעה במאמר טבלאות נתמכות.

הגדרת רשימת כתובות IP מותרות להעברות ב-Salesforce Marketing Cloud

כדי להעביר נתונים, צריך להגדיר את סביבת Google Cloud העבודה ואת חשבון Salesforce Marketing Cloud כך שכתובות IP ספציפיות יתווספו לרשימת ההיתרים. כך מוודאים ש-Salesforce Marketing Cloud מקבל רק חיבורים מכתובת IP סטטית ומהימנה.

כדי לעשות את זה, קודם צריך להגדיר את רשת Google Cloud כך שתשתמש בכתובת IP סטטית:

  1. הגדרה של תרגום כתובות רשת (NAT) ציבורי עם כתובת IP סטטית ברשת הענן הווירטואלי הפרטי (VPC). צריך להגדיר את CloudNAT באותו אזור שבו נמצא מערך נתוני היעד להעברת הנתונים הזו.
  2. הגדרת רכיב Network Attachment באותה רשת VPC. המשאב הזה משמש את שירות העברת הנתונים ל-BigQuery כדי לגשת לשירותים פרטיים.

בשלב הבא, צריך להוסיף את כתובת ה-IP הסטטית לרשימת ההיתרים ב-Salesforce Marketing Cloud. כשמוסיפים את טווח כתובות ה-IP, משתמשים בכתובת ה-IP הסטטית מ-Google Cloud NAT ציבורי גם לכתובת ה-IP ההתחלתית וגם לכתובת ה-IP הסופית של טווח כתובות ה-IP.

אחרי שמגדירים את טווחי כתובות ה-IP, אפשר לציין את כתובת ה-IP הסטטית כשמגדירים את תצורת ההעברה. לשם כך, בוחרים את קובץ הרשת בשדה Network attachment (קובץ רשת מצורף).

הדרישות לגבי אובייקט של תוסף נתונים

כדי לכלול אובייקטים של הרחבת נתונים בהעברת הנתונים, האובייקט צריך לעמוד בדרישות הבאות:

  • שם אובייקט של תוסף נתונים חייב לכלול את הקידומת DataExtensionObject ואחריה את שם האובייקט. לדוגמה, DataExtensionObject_DATA_EXTENSION_NAME.
  • צריך להפעיל את ההיקף Read לאובייקט של תוסף הנתונים.
  • למיקומי הקבצים של אובייקט התוסף לנתונים צריכות להיות ההיקפים Read ו-Write.

התקנה והגדרה של חבילת שילוב API של Salesforce Marketing Cloud

צריך להתקין חבילת שילוב של API שרת-לשרת ב-Salesforce Marketing Cloud. כדי לעשות את זה ב-Salesforce Marketing Cloud, צריך להתקין חבילה חדשה ולציין את הרכיב API Integration > Server-to-Server. מידע נוסף זמין במאמר בנושא יצירה והתקנה של חבילות.

אחרי שמתקינים את חבילת השילוב של ה-API, צריך להוסיף את היקפי ההרשאות הבאים:

  • גישה: Offline Access
  • אימייל: Read
  • OTT: Read
  • התראות בדחיפה:Read
  • SMS:Read
  • באינטרנט: Read
  • מסמכים ותמונות: Read
  • תוכן שמור: Read
  • מסלולים: Read
  • קהלים: Read
  • רשימה ומנויים: Read
  • תוספים של תאריכים: Read
  • מיקומי קבצים Read
  • מעקב אחרי אירועים: Read
  • בקשות להחזרת שיחה: Read
  • מינויים: Read
  • קמפיין: Read
  • נכסים: Read
  • חשבונות: Read
  • ערוצי OTT: Read
  • משתמשים: Read

מידע נוסף מופיע במאמר בנושא היקפי הרשאות של שילוב API.

דרישות מוקדמות ל-BigQuery

התפקידים הנדרשים ב-BigQuery

כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin ‏ (roles/bigquery.admin) ב-IAM בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:

  • הרשאות של שירות העברת נתונים ל-BigQuery:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • הרשאות ב-BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.

הגדרת העברת נתונים מ-Salesforce Marketing Cloud

כדי להוסיף נתונים מ-Salesforce Marketing Cloud ל-BigQuery, צריך להגדיר העברה באמצעות אחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף 'העברות נתונים' במסוף Google Cloud .

    מעבר אל "העברות נתונים"

  2. לוחצים על Create transfer (יצירת העברה).

  3. בקטע Source type, בשדה Source, בוחרים באפשרות Salesforce Marketing Cloud.

  4. בקטע Data source details (פרטים של מקור הנתונים):

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

  6. בקטע Transfer config name, בשדה Display name, מזינים שם להעברת הנתונים.

  7. בקטע Schedule options:

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

    • כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל הודעה באימייל אם ההעברה נכשלת.
    • כדי להפעיל התראות על הפעלת העברה ב-Pub/Sub להעברה הזו, לוחצים על המתג התראות Pub/Sub. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
  9. לוחצים על Save.

BQ

מזינים את הפקודה bq mk ומציינים את הדגל ליצירת העברה – --transfer_config.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID (אופציונלי): מזהה הפרויקט ב- Google Cloud . אם לא מציינים את --project_id כדי לציין פרויקט מסוים, המערכת משתמשת בפרויקט ברירת המחדל.
  • DATA_SOURCE: מקור הנתונים (לדוגמה, saphana).
  • DISPLAY_NAME: השם המוצג של הגדרות ההעברה. שם העברת הנתונים יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
  • DATASET: מערך הנתונים היעד להגדרת ההעברה.
  • PARAMETERS: הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה: --params='{"param":"param_value"}'. אלה הפרמטרים להעברה מ-Salesforce Marketing Cloud:
    • connector.subdomain: תחום המשנה של ה-API.
    • connector.instance: ערך המופע של ה-API.
    • connector.authentication.oauth.clientId: השם של מזהה האפליקציה של לקוח OAuth.
    • connector.authentication.oauth.clientSecret: הסוד של האפליקציה עבור לקוח OAuth.
    • assets: רשימה של שמות הטבלאות ב-Salesforce Marketing Cloud שיועברו מ-Salesforce Marketing Cloud כחלק מההעברה.

לדוגמה, הפקודה הבאה יוצרת העברת נתונים של Salesforce Marketing Cloud בפרויקט שמוגדר כברירת מחדל עם כל הפרמטרים הנדרשים:

  bq mk
      --transfer_config
      --target_dataset=mydataset
      --data_source=salesforce_marketing
      --display_name='My Transfer'
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

משתמשים ב-‎projects.locations.transferConfigs.create method ומספקים מופע של TransferConfig resource.

כששומרים את הגדרת ההעברה, המחבר של Salesforce Marketing Cloud מפעיל באופן אוטומטי העברה בהתאם לאפשרות של לוח הזמנים שהגדרתם.

טבלאות נתמכות

בכל הפעלה של העברה, המחבר של Salesforce Marketing Cloud מעביר את כל הנתונים הזמינים מ-Salesforce Marketing Cloud אל BigQuery לטבלאות הבאות, על סמך ממשק REST:

  • Assets
  • CampaignAssets
  • Campaigns
  • Categories
  • EventDefinitions
  • FacebookMessengerProperties
  • JourneyActivities
  • Journeys
  • LineMessengerProperties
  • SendDefinitions
  • Subscriptions
  • DataExtension
  • DataExtensionObject_DATA_EXTENSION_NAME
  • Email
  • LinkSend
  • List
  • ListSubscriber
  • Subscriber
  • TriggeredSendDefinition

כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הפעלה של מילוי חוסרים.

מיפוי סוגי נתונים

בטבלה הבאה מפורטים סוגי הנתונים ב-Salesforce Marketing Cloud והסוגים התואמים ב-BigQuery.

סוג הנתונים ב-Salesforce Marketing Cloud סוג נתונים ב-BigQuery
Boolean BOOLEAN
Number INTEGER
Text STRING
Decimal FLOAT
EmailAddress STRING
Phone STRING
Date DATE
DateTime TIMESTAMP
Locale STRING

פתרון בעיות בהגדרת ההעברה

אם נתקלתם בבעיות בהגדרת העברת נתונים מ-Salesforce Marketing Cloud, נסו את השלבים הבאים לפתרון בעיות:

הודעות שגיאה

שגיאה: invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

פתרון: אפשר לנסות את אחת מהפעולות הבאות:

שגיאה: INVALID_ARGUMENT. Table tableName does not exist in asset TableName

פתרון: מוודאים שהגדרתם את הרשאות ההיקף הנכונות באפליקציית Salesforce Marketing Cloud. מידע נוסף זמין במאמר דרישות מוקדמות ל-Salesforce Marketing Cloud.

שגיאה: FAILED_PRECONDITION: There was an issue connecting to API.

פתרון: השגיאה הזו יכולה להתרחש כשמצרפים העברה לרשת אבל לא מגדירים את ה-NAT הציבורי ולא יוצרים רשימת היתרים של כתובות IP. כדי לפתור את השגיאה, פועלים לפי השלבים במאמר יצירת קובץ מצורף לרשת ומגדירים כתובת IP סטטית כדי ליצור את הקובץ המצורף לרשת.

תמחור

למידע על התמחור של העברות מ-Salesforce Marketing Cloud, אפשר לעיין בתמחור של שירות העברת נתונים.

המאמרים הבאים