טעינת נתונים מ-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 סטטית:
- הגדרת תרגום כתובת רשת (NAT) ציבורית עם כתובת IP סטטית ברשת של הענן הווירטואלי הפרטי (VPC). צריך להגדיר את CloudNAT באותו אזור שבו נמצאת קבוצת הנתונים של היעד להעברת הנתונים הזו.
- מגדירים חיבור לרשת באותה רשת 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 כדי לאחסן את הנתונים.
- אם אתם מתכוונים להגדיר התראות על הפעלת העברות ב-Pub/Sub, ודאו שיש לכם את ההרשאה
pubsub.topics.setIamPolicyלניהול הזהויות והרשאות הגישה (IAM). אם אתם מגדירים רק התראות באימייל, אתם לא צריכים הרשאות Pub/Sub. למידע נוסף, קראו את המאמר התראות על הפעלות של שירות העברת הנתונים ל-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, צריך להגדיר העברה באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Data transfers במסוף Google Cloud .
לוחצים על Create transfer.
בקטע Source type, בשדה Source בוחרים באפשרות Salesforce Marketing Cloud.
בקטע פרטי מקור הנתונים, מבצעים את הפעולות הבאות:
- בשדה Network attachment, בוחרים חיבור לרשת מהתפריט. כדי להשתמש בחיבור לרשת בהעברת הנתונים הזו, צריך ליצור חיבור לרשת על ידי הגדרת כתובת IP סטטית.
- בשדה API Subdomain, מזינים את תת-הדומיין של ה-URI הבסיסי לאימות.
- בשדה API instance, מזינים את מופע ה-API מכתובת ה-URL אחרי שנכנסים לאפליקציית Marketing Cloud.
- בשדה Client ID, מזינים את מזהה הלקוח מחבילת השילוב של ה-API.
- בשדה Client Secret, מזינים את סוד הלקוח מחבילת השילוב של ה-API.
בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם כדי לאחסן את הנתונים.
בקטע Transfer config name, בשדה Display name, נותנים שם להעברת הנתונים.
בקטע Schedule options:
- ברשימה Repeat frequency, בוחרים אפשרות כדי לציין את התדירות שבה העברת הנתונים הזו תפעל. כדי להגדיר תדירות חזרה מותאמת אישית, לוחצים על בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה תתבצע כשמפעילים אותה ידנית.
- אם רלוונטי, בוחרים באפשרות Start now או באפשרות Start at set time, ומציינים תאריך התחלה וזמן ריצה.
אופציונלי: בקטע אפשרויות התראה, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל כשהרצת ההעברה נכשלת.
- כדי להפעיל התראות על הפעלת העברות ב-Pub/Sub, לוחצים על המתג Pub/Sub notifications. אפשר לבחור את שם הנושא או ללחוץ על Create a topic כדי ליצור נושא.
לוחצים על 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:
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 מוגדרת במיוחד לאימות שרת-אל-שרת.
- מוודאים שאפליקציה לאימות חשבונות מוגדרת עם כל ההרשאות הנדרשות בקטע 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. פתרון: נסו את אחת מהאפשרויות הבאות:
- מפעילים את כל כתובות ה-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, תלוי אותיות רישיות, ושההיקף
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