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

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

מגבלות

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

  • הגדרת העברה אחת יכולה לתמוך רק בהרצה אחת של העברת נתונים בכל פעם. אם העברת נתונים שנייה מתוזמנת לפעול לפני שההעברה הראשונה מסתיימת, רק העברת הנתונים הראשונה תושלם, וכל העברת נתונים אחרת שחופפת להעברה הראשונה תדלג.
    • כדי למנוע דילוג על העברות בהגדרת העברה אחת, מומלץ להגדיל את משך הזמן בין העברות נתונים גדולות על ידי הגדרת תדירות החזרה.
  • כדי להשתמש בחיבור לרשת עם העברת הנתונים הזו, קודם צריך ליצור חיבור לרשת על ידי הגדרת כתובת IP סטטית.
  • העברות מ-Salesforce Marketing Cloud לא תומכות בהרחבות נתונים שמכילות שדות בינאריים או שדות blob גדולים.
  • אם מחבר הרשת שהגדרתם והמכונה הווירטואלית (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`. מידע נוסף זמין במאמר Find the stack location for a Marketing Cloud account.
clientId מזהה הלקוח משילוב ה-API. עוברים אל Setup (הגדרה) > Apps (אפליקציות) > Installed Packages (חבילות מותקנות) ולוחצים על שם החבילה. מזהה הלקוח מופיע בקטע Components.
clientSecret סוד הלקוח של שילוב האפליקציה. עוברים אל Setup (הגדרה) > Apps (אפליקציות) > Installed Packages (חבילות מותקנות), ואז לוחצים על שם החבילה. סוד הלקוח מופיע בקטע Components.
Salesforce Marketing Cloud objects to transfer צריך להכין רשימה של אובייקטים ב-Salesforce Marketing Cloud שרוצים לכלול בהעברה הזו. אפשר לבחור אובייקטים כשמגדירים העברה. כאן אפשר למצוא רשימה של האובייקטים הנתמכים.

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

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

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

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

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

אחרי שמגדירים את טווחי ה-IP, אפשר לציין את כתובת ה-IP הסטטית כשמגדירים את ההעברה. כדי לעשות את זה, בוחרים את חיבור הרשת בשדה Network attachment.

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

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

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

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

אתם צריכים להתקין חבילת שילוב של 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
  • קריאות חוזרות (callbacks): Read
  • מינויים: Read
  • קמפיין: Read
  • נכסים: Read
  • חשבונות: Read
  • ערוצי OTT: ‏Read
  • משתמשים: Read

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

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

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

כדי לקבל את ההרשאות שדרושות ליצירת העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, בקשו מהאדמין להקצות לכם את התפקיד אדמין ב-BigQuery (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. נכנסים לדף Data transfers במסוף Google Cloud .

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

  2. לוחצים על Create transfer.

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

  4. בקטע פרטי מקור הנתונים, מבצעים את הפעולות הבאות:

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

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

  7. בקטע Schedule options:

    • ברשימה Repeat frequency, בוחרים אפשרות כדי לציין את התדירות שבה העברת הנתונים הזו תפעל. כדי להגדיר תדירות חזרה מותאמת אישית, לוחצים על בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה תתבצע כשמפעילים אותה ידנית.
    • אם רלוונטי, בוחרים באפשרות Start now או באפשרות Start at set time, ומציינים תאריך התחלה וזמן ריצה.
  8. אופציונלי: בקטע אפשרויות התראה, מבצעים את הפעולות הבאות:

    • כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל כשהרצת ההעברה נכשלת.
    • כדי להפעיל התראות על הפעלת העברות ב-Pub/Sub, לוחצים על המתג Pub/Sub notifications. אפשר לבחור את שם הנושא או ללחוץ על Create a topic כדי ליצור נושא.
  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

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

כששומרים את הגדרות ההעברה, המחבר של 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, נסו את הפתרונות הבאים:

  • מוודאים שחבילת השילוב של ה-API ב-Salesforce Marketing Cloud מוגדרת במיוחד לאימות שרת-אל-שרת.
  • מוודאים שאפליקציה לאימות חשבונות מוגדרת עם כל ההרשאות הנדרשות בקטע Scope, כולל Data Extensions: Read.
  • כדי למנוע זמן קצוב לתפוגה וכשלים לסירוגין, הגבילו כל הגדרת העברה ל-10 נכסים לכל היותר.
  • מוודאים שלא מעבירים תוספי נתונים שמכילים שדות בינאריים או שדות blob גדולים.

הודעות שגיאה

שגיאה: 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, תלוי אותיות רישיות, ושההיקף Data Extensions: Read הוקצה. כשמעבירים נתוני שורות של Data Extension, השם חייב להיות בתבנית המדויקת: DataExtensionObject_DATA_EXTENSION_NAME. מידע נוסף זמין במאמר דרישות מוקדמות ל-Salesforce Marketing Cloud.

הבעיה: ההעברה מצליחה אבל לא נטענות רשומות

פתרון: כדי לקרוא את התוכן של תוסף נתונים, צריך הרשאות Read ו-Write למיקומי קבצים. מוודאים שההיקפים של Salesforce Marketing Cloud כוללים את File Locations: Read, Write.

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

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

תמחור

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

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