טעינת נתונים מ-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`. מידע נוסף זמין במאמר בנושא איתור מיקום הערימה בחשבון Marketing Cloud. |
clientId |
מספר הלקוח משילוב ה-API. עוברים אל הגדרה > אפליקציות > חבילות מותקנות, ואז לוחצים על שם החבילה. מזהה הלקוח מופיע בקטע Components (רכיבים). |
clientSecret |
סוד הלקוח של שילוב האפליקציה. עוברים אל הגדרה > אפליקציות > חבילות מותקנות, ואז לוחצים על שם החבילה. סוד הלקוח מופיע בקטע Components (רכיבים). |
Salesforce Marketing Cloud objects to transfer |
יוצרים רשימה של אובייקטים של Salesforce Marketing Cloud שרוצים לכלול בהעברה הזו. אפשר לבחור אובייקטים כשמגדירים את ההעברה. רשימת האובייקטים הנתמכים מופיעה במאמר טבלאות נתמכות. |
הגדרת רשימת כתובות IP להעברות ב-Salesforce Marketing Cloud
כדי להעביר נתונים, צריך להגדיר את Cloud de Confiance by S3NS הסביבה ואת חשבון Salesforce Marketing Cloud כך שכתובות IP ספציפיות יתווספו לרשימת ההיתרים. כך מבטיחים ש-Salesforce Marketing Cloud יקבל רק חיבורים מכתובת IP סטטית ומהימנה.
כדי לעשות את זה, קודם צריך להגדיר את רשת Cloud de Confiance by S3NS כך שתשתמש בכתובת IP סטטית:
- הגדרה של תרגום כתובות רשת (NAT) ציבורי עם כתובת IP סטטית ברשת הענן הווירטואלי הפרטי (VPC). צריך להגדיר את CloudNAT באותו אזור שבו נמצא מערך נתוני היעד להעברת הנתונים הזו.
- הגדרת חיבור רשת באותה רשת VPC. המשאב הזה משמש את שירות העברת הנתונים ל-BigQuery כדי לגשת לשירותים פרטיים.
בשלב הבא, צריך להוסיף את כתובת ה-IP הסטטית לרשימת ההיתרים ב-Salesforce Marketing Cloud. כשמוסיפים את טווח כתובות ה-IP, משתמשים בכתובת ה-IP הסטטית מ-Cloud de Confiance by S3NS 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 לאחסון הנתונים.
- אם אתם מתכוונים להגדיר התראות על הפעלת העברה ב-Pub/Sub, ודאו שיש לכם הרשאה לניהול זהויות והרשאות גישה (IAM)
pubsub.topics.setIamPolicy. אם מגדירים רק התראות באימייל, לא צריך הרשאות Pub/Sub. מידע נוסף זמין במאמר בנושא התראות על הפעלת שירות העברת נתונים ל-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, צריך להגדיר העברה באמצעות אחת מהאפשרויות הבאות:
המסוף
עוברים לדף 'העברות נתונים' במסוף Cloud de Confiance .
לוחצים על Create transfer (יצירת העברה).
בקטע Source type, בשדה Source, בוחרים באפשרות Salesforce Marketing Cloud.
בקטע Data source details (פרטים של מקור הנתונים), מבצעים את הפעולות הבאות:
- בקטע Network attachment (חיבור לרשת), בוחרים חיבור לרשת מהתפריט. כדי להשתמש בצירוף רשת להעברת הנתונים הזו, צריך ליצור צירוף רשת על ידי הגדרת כתובת IP סטטית.
- בשדה API Subdomain (תת-דומיין של API), מזינים את תת-הדומיין של בסיס ה-URI של האימות.
- בקטע API instance (מופע API), מזינים את מופע ה-API מכתובת ה-URL אחרי שנכנסים לאפליקציית Marketing Cloud.
- בקטע מספר לקוח, מזינים את מספר הלקוח מחבילת השילוב של ה-API.
- בקטע Client Secret (סוד לקוח), מזינים את סוד הלקוח מחבילת שילוב ה-API.
בקטע הגדרות יעד, בשדה מערך נתונים, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע Transfer config name (שם הגדרת ההעברה), בשדה Display name (שם מוצג), מזינים שם להעברת הנתונים.
בקטע Schedule options:
- ברשימה תדירות החזרה, בוחרים אפשרות כדי לציין באיזו תדירות יתבצע העברת הנתונים. כדי לציין תדירות חזרה מותאמת אישית, בוחרים באפשרות בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה הזו תתבצע כשמפעילים אותה באופן ידני.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך הפעלה.
אופציונלי: בקטע אפשרויות התראות, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל הודעה באימייל אם ההעברה נכשלת.
- כדי להפעיל התראות על הפעלת העברה ב-Pub/Sub להעברה הזו, לוחצים על המתג Pub/Sub notifications. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
לוחצים על 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 (אופציונלי): מזהה הפרויקט ב- Cloud de Confiance by S3NS .
אם לא מציינים את
--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:
AssetsCampaignAssetsCampaignsCategoriesEventDefinitionsFacebookMessengerPropertiesJourneyActivitiesJourneysLineMessengerPropertiesSendDefinitionsSubscriptionsDataExtensionDataExtensionObject_DATA_EXTENSION_NAMEEmailLinkSendListListSubscriberSubscriberTriggeredSendDefinition
כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצה של מילוי חוסרים.
מיפוי סוגי נתונים
בטבלה הבאה מפורטים סוגי הנתונים ב-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 מוגדרת באופן ספציפי לאימות שרת-אל-שרת.
- מוודאים שאפליקציית האימות מוגדרת עם כל ההרשאות הנדרשות בקטע היקף, כולל
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. פתרון: אפשר לנסות אחת מהפעולות הבאות:
- מפעילים את האפשרות כל כתובות ה-IP הזמינות למשאבי Cloud de Confiance by S3NS .
- מגדירים את Cloud de Confiance by S3NS הסביבה ואת חשבון Salesforce Marketing Cloud כדי להוסיף כתובות IP סטטיות לרשימת ההיתרים. מידע נוסף זמין במאמר בנושא הגדרת רשימת כתובות IP להעברות ב-Salesforce Marketing Cloud.
- שגיאה:
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, אפשר לעיין בתמחור של שירות העברת נתונים.
המאמרים הבאים
- סקירה כללית של שירות העברת הנתונים ל-BigQuery זמינה במאמר מבוא לשירות העברת נתונים ל-BigQuery.
- מידע על שימוש בהעברות נתונים, כולל קבלת מידע על הגדרת העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה, זמין במאמר ניהול העברות.
- איך טוענים נתונים באמצעות פעולות BigQuery Omni