טעינת נתונים מ-Stripe ל-BigQuery
אפשר לטעון נתונים מ-Stripe ל-BigQuery באמצעות מחבר Stripe עם שירות העברת הנתונים ל-BigQuery. באמצעות מחבר Stripe, אתם יכולים לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים שלכם מ-Stripe ל-BigQuery.
מגבלות
העברות נתונים של Stripe כפופות למגבלות הבאות:
- העברת נתונים מ-Stripe טוענת מטבעות לפי היחידות הקטנות של Stripe. מידע נוסף זמין במאמר בנושא יחידות משנה בסכומים של API.
- המחבר של Stripe מעביר רק דוחות שנוצרו מראש לכל חשבון Stripe. מחבר Stripe לא יוצר דוחות חדשים על סמך נתונים חדשים מ-Stripe.
- כדי להעביר דוחות עדכניים, צריך ליצור את הדוחות באופן ידני במרכז הבקרה של Stripe לפני שמתחילים את העברת הנתונים של Stripe.
- מידע נוסף זמין במאמר בנושא דיווח ב-Stripe.
- המחבר של Stripe לא תומך באירועים מבוססי webhook, בעדכונים בזמן אמת או ב-Stripe Sigma.
- יכול להיות שיהיו בעיות בהעברת נתונים מ-Stripe אם הנתונים מגיעים מאזורים של Stripe שנמצאים בשלב התצוגה המקדימה:
- אפשרויות הסינון מוגבלות או לא זמינות באזורים שמוצגים בתצוגה מקדימה ב-Stripe.
- אזורי התצוגה המקדימה של Stripe לא תומכים בהעברות נתונים ובשאילתות מותנות.
- יכול להיות שתיתקלו בזמני ריצה ארוכים של העברת נתונים כשמעבירים נתונים מאזורי תצוגה מקדימה של Stripe.
- מחבר Stripe תומך בחלק מהאובייקטים עם המסנן
StartDate.- הפורמט הנדרש למסנן
StartDateהואYYYY-MM-DD. אם לא מציינים תאריך התחלה, ברירת המחדל של המחבר היא שלוש שנים לפני התאריך הנוכחי. אם מציינים תאריך שלפני 1 בינואר 2011, המחבר משתמש אוטומטית בתאריך 1 בינואר 2011. - כאן אפשר לעיין ברשימת האובייקטים שתומכים במסנן
StartDate.
- הפורמט הנדרש למסנן
- כל הגדרה של העברת נתונים יכולה לתמוך רק בהרצה אחת של העברת נתונים בכל זמן נתון. אם מתוכננת העברת נתונים שנייה לפני שההעברה הראשונה מסתיימת, רק ההעברה הראשונה תסתיים, והעברות נתונים אחרות שחופפות להעברה הראשונה ייפסחו.
- כדי להימנע מדילוג על העברות במסגרת הגדרת העברה יחידה, מומלץ להגדיר את תדירות החזרה כדי להגדיל את משך הזמן בין העברות של נתונים בכמות גדולה.
לפני שמתחילים
בקטעים הבאים מתוארים השלבים שצריך לבצע לפני שיוצרים העברת נתונים של Stripe.
דרישות מוקדמות ל-Stripe
- כדי לאשר העברת נתונים מ-Stripe, צריך להיות לכם חשבון פיתוח ב-Stripe. הוראות לרישום חשבון Stripe מופיעות במאמר רישום ב-Stripe.
- כדי להגדיר את אפליקציית הפלטפורמה של Stripe, מבצעים את השלבים הבאים:
- עוברים לקטע Developers בלוח הבקרה של Stripe.
- בקטע Connect (חיבור), מגדירים את הפלטפורמה כך שתתמוך בחשבונות Standard (רגיל) ו-Express (מהיר).
- כדי ליצור העברת נתונים ב-Stripe, צריך את הפרטים הבאים:
- רושמים את מספר חשבון Stripe. מידע נוסף זמין במאמר יצירת חשבון.
- רושמים בצד את המפתח הסודי או את המפתח המוגבל. מידע נוסף זמין במאמר מפתחות API.
- אם אתם מתכננים להעביר נתונים מחשבונות מקושרים, ודאו שהפלטפורמה שלכם מוגדרת ל-Stripe Connect ושיש לה גישה ליכולות החשבון הנדרשות. מידע נוסף על Stripe Connect זמין במאמר פלטפורמות ושווקים עם Stripe Connect.
- מידע נוסף על חשבונות מקושרים זמין במאמר סוגי חשבונות מקושרים.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת העברה, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של BigQuery (roles/bigquery.admin) בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת העברה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברה, צריך את ההרשאות הבאות:
-
bigquery.transfers.updateבמשתמש -
bigquery.datasets.getבמערך נתוני היעד -
bigquery.datasets.updateבמערך נתוני היעד
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
דרישות מוקדמות ל-BigQuery
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים.
- אם אתם מתכוונים להגדיר התראות על הפעלת העברה ב-Pub/Sub, ודאו שיש לכם הרשאה לניהול זהויות והרשאות גישה (IAM)
pubsub.topics.setIamPolicy. לא נדרשות הרשאות Pub/Sub אם מגדירים רק התראות באימייל. מידע נוסף זמין במאמר בנושא התראות על הפעלת שירות העברת נתונים ל-BigQuery.
סוגי חשבונות Stripe
מחבר Stripe תומך גם בחשבונות פלטפורמה של Stripe וגם בחשבונות מחוברים של Stripe. מידע נוסף זמין במאמר סוגי חשבונות ב-Connect.
קישור לחשבונות בפלטפורמות
כדי להפעיל העברת נתונים ב-Stripe רק מחשבון פלטפורמה אחד, צריך לבצע את הפעולות הבאות כשמגדירים את העברת הנתונים:
- בשדה Account Id (מספר החשבון), מזינים את מספר החשבון בפלטפורמה.
- בשדה Secret/API Key (מפתח סודי או מפתח API), מזינים את המפתח הסודי או המוגבל של חשבון הפלטפורמה.
- בשדה SyncAllConnectedAccounts, בוחרים באפשרות False.
כדי להפעיל העברת נתונים של Stripe לכמה חשבונות, למשל לחשבון פלטפורמה שמקושר לחשבונות מקושרים, צריך לבצע את הפעולות הבאות כשמגדירים את העברת הנתונים:
- בשדה Account Id (מספר החשבון), מזינים את מספר החשבון בפלטפורמה.
- בשדה Secret/API Key (מפתח סודי או מפתח API), מזינים את המפתח הסודי או המוגבל של חשבון הפלטפורמה.
- בשדה SyncAllConnectedAccounts, בוחרים באפשרות True.
קישור לחשבונות מקושרים
חשבונות מקושרים הם חשבונות Stripe שמקושרים ל-Stripe באמצעות Stripe Connect.
כדי להפעיל העברת נתונים של Stripe מחשבון מקושר, צריך לבצע את הפעולות הבאות כשמגדירים את העברת הנתונים:
- בשדה מספר החשבון, מזינים את מספר החשבון בפלטפורמה של החשבון המקושר.
- בשדה Secret/API Key (סוד/מפתח API), מזינים את הסוד או את המפתח המוגבל של חשבון הפלטפורמה שאליו מחובר החשבון המקושר.
- בשדה SyncAllConnectedAccounts, בוחרים באפשרות False.
הגדרת העברת נתונים מ-Stripe
כדי להוסיף נתונים מ-Stripe ל-BigQuery, צריך להגדיר העברה באחת מהדרכים הבאות:
המסוף
עוברים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על Create transfer (יצירת העברה).
בקטע סוג המקור, בשדה מקור, בוחרים באפשרות Stripe.
בקטע Data source details (פרטים של מקור הנתונים):
- בשדה Platform/Connected Account ID (מזהה פלטפורמה או חשבון מקושר), מזינים את מספר חשבון Stripe. מידע נוסף זמין במאמר בנושא דרישות מוקדמות לשימוש ב-Stripe.
- בשדה Stripe Secret Key (המפתח הסודי של Stripe), מזינים את מפתח ה-API של חשבון Stripe. מידע נוסף זמין במאמר בנושא דרישות מוקדמות לשימוש ב-Stripe.
- בשדה תאריך התחלה, מזינים תאריך בפורמט
YYYY-MM-DD. העברת הנתונים טוענת נתונים מ-Stripe החל מהתאריך הזה. - בוחרים באפשרות סנכרון כל החשבונות המקושרים כדי לסנכרן את כל החשבונות המקושרים.
- בשדה Stripe objects to transfer (אובייקטים של Stripe להעברה), מזינים את השמות של האובייקטים של Stripe שרוצים להעביר או לוחצים על Browse (עיון) ובוחרים את האובייקטים שרוצים להעביר.
בקטע הגדרות יעד, בשדה מערך נתונים, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברת הנתונים.
בקטע Schedule options:
- ברשימה Repeat frequency, בוחרים אפשרות כדי לציין באיזו תדירות תתבצע העברת הנתונים הזו. כדי לציין תדירות חזרה מותאמת אישית, בוחרים באפשרות בהתאמה אישית. אם בוחרים באפשרות על פי דרישה, ההעברה הזו תתבצע כשמפעילים אותה ידנית.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה שנקבעה, ומזינים תאריך התחלה ומשך זמן הפעלה.
אופציונלי: בקטע אפשרויות התראות, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. אחרי שמפעילים את האפשרות הזו, האדמין של ההעברה מקבל הודעת אימייל אם ההעברה נכשלת.
- כדי להפעיל התראות על הרצת העברה ב-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 (אופציונלי): מזהה הפרויקט ב- Google Cloud .
אם לא מציינים את
--project_idכדי לציין פרויקט מסוים, המערכת משתמשת בפרויקט ברירת המחדל. - DATA_SOURCE: מקור הנתונים –
stripe. - DISPLAY_NAME: השם המוצג של הגדרת העברת הנתונים. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- DATASET: מערך הנתונים היעד להגדרת ההעברה.
PARAMETERS: הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. אלה הפרמטרים להעברת נתונים ב-Stripe:-
assets: רשימה של אובייקטים של Stripe שייכללו בהעברה הזו. -
connector.accountId: מזהה חשבון Stripe. -
connector.secretKey: מפתח ה-API של חשבון Stripe. -
connector.syncAllConnectedAccounts: מצייניםtrueכדי לסנכרן את כל החשבונות המקושרים. -
connector.startDate: צריך להזין תאריך בפורמטYYYY-MM-DD. העברת הנתונים טוענת נתונים מ-Stripe החל מהתאריך הזה.
-
לדוגמה, הפקודה הבאה יוצרת העברת נתונים של Stripe בפרויקט שמוגדר כברירת מחדל עם כל הפרמטרים הנדרשים:
bq mk \ --transfer_config \ --target_dataset=mydataset \ --data_source=stripe \ --display_name='My Transfer' \ --params= ' { "assets" : [ "Customers" , "Accounts", "BalanceSummaryReport"] , "connector.accountId" : "acct_000000000000", "connector.secretKey" : "sk_test_000000000", "connector.syncAllConnectedAccounts" : "true", "connector.startDate": "2025-05-20" }'
API
משתמשים ב-projects.locations.transferConfigs.create method ומספקים מופע של TransferConfig resource.
כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הפעלה של מילוי חוסרים.
מיפוי סוגי נתונים
בטבלה הבאה מפורט מיפוי של סוגי נתונים ב-Stripe לסוגי הנתונים התואמים ב-BigQuery.
| סוג הנתונים של Stripe | סוג נתונים ב-BigQuery | הערות |
|---|---|---|
String |
STRING |
|
Dictionary |
STRING |
כשמעלים אובייקט מקונן ל-BigQuery, הוא מומר לאובייקט שטוח. האובייקט המפושט הזה נשמר בטבלה כמחרוזת ליטרלית יחידה. |
Integer |
INT64 |
|
Double |
DOUBLE |
|
Float |
FLOAT |
|
Decimal |
BIGNUMERIC |
|
BigInt (long) |
BIGNUMERIC |
|
Boolean |
BOOL |
|
Datetime |
TIMESTAMP |
|
Unix timestamp |
TIMESTAMP |
אובייקטים עם תמיכה במסנן StartDate
אובייקטים של Stripe הבאים תומכים במסנן StartDate, שמאפשר לטעון נתונים שמבוססים על זמן:
- חשבונות
- ApplicationFees
- BalanceTransactions
- בעלי כרטיסים
- חיובים
- שוברים
- לקוחות
- מחלוקות
- EarlyFraudWarnings
- אירועים
- FileLinks
- קבצים
- InvoiceItems
- חשבוניות
- IssuingCards
- IssuingDisputes
- PaymentIntent
- תשלומים
- תוכניות
- מחירים
- מוצרים
- PromotionCodes
- החזרים כספיים
- ביקורות
- ShippingRates
- מינויים
- TaxRates
- TopUps
- העברות
- ValueListItems
- ValueLists
פתרון בעיות בהגדרת ההעברה
אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בעיות בהעברה ב-Stripe.
תמחור
העברת נתונים מ-Stripe ל-BigQuery לא כרוכה בתשלום בזמן שהתכונה הזו נמצאת בגרסת Preview.
המאמרים הבאים
- סקירה כללית של שירות העברת הנתונים ל-BigQuery זמינה במאמר מבוא לשירות העברת נתונים ל-BigQuery.
- מידע על שימוש בהעברות, כולל קבלת מידע על הגדרות העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה, זמין במאמר עבודה עם העברות.
- איך טוענים נתונים באמצעות פעולות בין עננים