טעינת נתונים מ-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 סטטית:
- הגדרה של תרגום כתובות רשת (NAT) ציבורי עם כתובת IP סטטית ברשת הענן הווירטואלי הפרטי (VPC). צריך להגדיר את CloudNAT באותו אזור שבו נמצא מערך נתוני היעד להעברת הנתונים הזו.
- הגדרת רכיב 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 לאחסון הנתונים.
- אם אתם מתכוונים להגדיר התראות על הפעלת העברה ב-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, צריך להגדיר העברה באמצעות אחת מהאפשרויות הבאות:
המסוף
עוברים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על 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. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
לוחצים על 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:
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 מוגדר לServer-to-server.
- מוודאים שאפליקציית האימות מוגדרת עם ההרשאות הנדרשות בקטע היקף.
הודעות שגיאה
- שגיאה:
invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration. פתרון: אפשר לנסות את אחת מהפעולות הבאות:
- מפעילים את האפשרות כל כתובות ה-IP הזמינות עבור משאבי Google Cloud .
- מגדירים את Google Cloud הסביבה ואת חשבון Salesforce Marketing Cloud כדי להוסיף כתובות IP סטטיות לרשימת ההיתרים. מידע נוסף זמין במאמר בנושא הגדרת רשימת כתובות IP להעברות ב-Salesforce Marketing Cloud.
- שגיאה:
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, אפשר לעיין בתמחור של שירות העברת נתונים.
המאמרים הבאים
- סקירה כללית של שירות העברת הנתונים ל-BigQuery זמינה במאמר מבוא לשירות העברת נתונים ל-BigQuery.
- מידע על שימוש בהעברות נתונים, כולל קבלת מידע על הגדרת העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה, זמין במאמר ניהול העברות.
- איך טוענים נתונים באמצעות פעולות בין עננים