טעינת נתונים מ-Stripe ל-BigQuery

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

מגבלות

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

  • העברת נתונים מ-Stripe טוענת מטבעות לפי היחידות הקטנות של Stripe. מידע נוסף זמין במאמר יחידות משנה בסכומי API.
  • המחבר של Stripe מעביר רק דוחות שנוצרו מראש לכל חשבון Stripe. המחבר של Stripe לא יוצר דוחות חדשים על סמך נתונים חדשים מ-Stripe.
    • כדי להעביר דוחות עדכניים, צריך ליצור את הדוחות באופן ידני במרכז הבקרה של Stripe לפני שמתחילים את העברת הנתונים מ-Stripe.
    • מידע נוסף זמין במאמר Stripe reporting.
  • המחבר של Stripe לא תומך באירועים שמבוססים על תגובות לפעולות אינטרנט, בעדכונים בזמן אמת או ב-Stripe Sigma.
  • בהעברות נתונים מ-Stripe מאזורים של Stripe שנמצאים בגרסת טרום-השקה (Preview), יכולות להיות בעיות בהעברות הנתונים:
    • אפשרויות הסינון מוגבלות או לא זמינות באזורים שבהם Stripe נמצאת בגרסת טרום-השקה (Preview).
    • באזורים של גרסת טרום-השקה (Preview) של Stripe אין תמיכה בהעברות נתונים ובשאילתות מותנות.
    • יכול להיות שזמני הריצה של העברת הנתונים יהיו ארוכים כשמעבירים נתונים מאזורי תצוגה מקדימה של Stripe.
  • המחבר של Stripe תומך באובייקטים מסוימים עם המסנן StartDate.
    • הפורמט הנדרש למסנן StartDate הוא YYYY-MM-DD. אם לא מציינים תאריך התחלה, המחבר משתמש כברירת מחדל בתאריך שחל שלוש שנים לפני התאריך הנוכחי. אם מציינים תאריך לפני 1 בינואר 2011, המחבר משתמש באופן אוטומטי בתאריך 1 בינואר 2011.
    • כאן אפשר למצוא רשימה של אובייקטים שנתמכים ב-StartDate.
  • הגדרת העברה אחת יכולה לתמוך רק בהרצה אחת של העברת נתונים בזמן נתון. אם מתוזמנת העברת נתונים שנייה לפני שההעברה הראשונה מסתיימת, רק ההעברה הראשונה תושלם, וכל העברת נתונים אחרת שחופפת להעברה הראשונה תדלג.
    • כדי למנוע דילוג על העברות בהגדרת העברה אחת, מומלץ להגדיל את משך הזמן בין העברות נתונים גדולות על ידי הגדרת תדירות החזרה.
  • אם חיבור הרשת נוצר בפרויקט ב- Google Cloud ששונה מהפרויקט ב- Google Cloud שבו נוצרה העברת הנתונים, צריך לתת את ההרשאות compute.networkAttachments.get ו-compute.networkAttachments.update לסוכן השירות ששייך לפרויקט ב- Google Cloud שבו נוצרה העברת הנתונים.

לפני שמתחילים

בקטעים הבאים מוסבר מה צריך לעשות לפני שיוצרים העברת נתונים מ-Stripe.

דרישות מוקדמות לשימוש ב-Stripe

  • כדי לאשר העברת נתונים מ-Stripe, צריך להיות לכם חשבון מפתח ב-Stripe. כדי להירשם לחשבון Stripe, עיינו במאמר הרשמה ל-Stripe.
  • כדי להגדיר את האפליקציה בפלטפורמת Stripe:
    1. עוברים לקטע Developers (מפתחים) במרכז הבקרה של Stripe.
    2. בקטע Connect, מגדירים את הפלטפורמה כך שתתמוך בחשבונות Standard ו-Express.
  • כדי ליצור העברת נתונים מ-Stripe, צריך את הפרטים הבאים:
    • רושמים את מזהה החשבון ב-Stripe. מידע נוסף זמין במאמר יצירת חשבון.
    • חשוב לזכור את המפתח הסודי או המפתח המוגבל. מידע נוסף זמין במאמר מפתחות API.
  • אם אתם מתכננים להעביר נתונים מחשבונות מקושרים, ודאו שהפלטפורמה שלכם מוגדרת ל-Stripe Connect ויש לה גישה ליכולות החשבון הנדרשות. מידע נוסף על Stripe Connect זמין במאמר פלטפורמות וזירות מסחר עם Stripe Connect.

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

כדי לקבל את ההרשאות שנדרשות ליצירת העברה, צריך לבקש מהאדמין להקצות לכם את התפקיד אדמין ב-BigQuery (roles/bigquery.admin) ב-IAM בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת העברה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור העברה, נדרשות ההרשאות הבאות:

  • bigquery.transfers.update במשתמש
  • ‫bigquery.datasets.get במערך הנתונים של היעד
  • ‫bigquery.datasets.update במערך הנתונים של היעד

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

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

סוגי חשבונות Stripe

המחבר של Stripe תומך גם בחשבונות בפלטפורמת Stripe וגם בחשבונות שמקושרים ל-Stripe. מידע נוסף זמין במאמר סוגי חשבונות מקושרים.

קישור לחשבונות בפלטפורמות אחרות

כדי להפעיל העברת נתונים מ-Stripe מחשבון פלטפורמה אחד בלבד, מבצעים את הפעולות הבאות כשמגדירים את ההעברה:

  • בשדה Account Id (מזהה החשבון), מזינים את מזהה החשבון בפלטפורמה.
  • בשדה סוד/מפתח API, מזינים את הסוד או המפתח המוגבל של החשבון בפלטפורמה.
  • במדיניות SyncAllConnectedAccounts, בוחרים באפשרות False.

כדי להפעיל העברת נתונים מ-Stripe לכמה חשבונות, לדוגמה, לחשבון פלטפורמה שמקושר לחשבונות מקושרים, מבצעים את הפעולות הבאות כשמגדירים את ההעברה:

  • בשדה Account Id (מזהה החשבון), מזינים את מזהה החשבון בפלטפורמה.
  • בשדה סוד/מפתח API, מזינים את הסוד או המפתח המוגבל של החשבון בפלטפורמה.
  • במדיניות SyncAllConnectedAccounts, בוחרים באפשרות True.

קישור לחשבונות קשורים

חשבונות מקושרים הם חשבונות Stripe שמקושרים ל-Stripe באמצעות Stripe Connect.

כדי להפעיל העברת נתונים מ-Stripe מחשבון מקושר, מבצעים את הפעולות הבאות כשמגדירים את ההעברה:

  • בשדה מזהה חשבון, מזינים את מזהה החשבון בפלטפורמה של החשבון המקושר.
  • בשדה סוד/מפתח API, מזינים את הסוד או המפתח המוגבל של חשבון הפלטפורמה שאליו מקושר החשבון המקושר.
  • במדיניות SyncAllConnectedAccounts, בוחרים באפשרות False.

הגדרת העברת נתונים מ-Stripe

כדי להוסיף נתונים מ-Stripe ל-BigQuery, צריך להגדיר העברה באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף Data transfers במסוף Google Cloud .

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

  2. ‫ Create transfer.

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

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

    • בשדה Platform/Connected Account ID (פלטפורמה/מזהה חשבון מקושר), מזינים את מזהה החשבון ב-Stripe. מידע נוסף זמין במאמר דרישות מוקדמות של Stripe.
    • בשדה Stripe Secret Key, מזינים את מפתח ה-API של החשבון ב-Stripe. מידע נוסף זמין במאמר דרישות מוקדמות של Stripe.
    • בשדה תאריך התחלה, כותבים תאריך בפורמט YYYY-MM-DD. העברת הנתונים טוענת נתונים מ-Stripe החל מהתאריך הזה.
    • כדי לסנכרן את כל החשבונות המקושרים, לוחצים על סנכרון כל החשבונות המקושרים.
    • בשדה Stripe objects to transfer, מזינים את שמות האובייקטים של Stripe שרוצים להעביר, או לוחצים על Browse ובוחרים את האובייקטים שרוצים להעביר.
  5. בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.

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

  7. בקטע Schedule options:

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

    • כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. אחרי שמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל כשהרצת ההעברה נכשלת.
    • כדי להפעיל התראות על הפעלת העברה ב-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: מקור הנתונים – 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

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

כששומרים את הגדרות ההעברה, המחבר של Stripe מפעיל באופן אוטומטי את ההעברה בהתאם לאפשרות התזמון שבחרתם. בכל הפעלה של העברה, המחבר של Stripe מעביר את כל הנתונים הזמינים מ-Stripe ל-BigQuery.

כדי להפעיל ידנית העברת נתונים מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצה של מילוי חוסרים.

מיפוי סוגי נתונים

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

  • חשבונות
  • חיובים
  • שוברים
  • לקוחות
  • מחלוקות
  • InvoiceItems
  • חשבוניות
  • PaymentIntent
  • תשלומים
  • תוכניות
  • מחירים
  • מוצרים
  • PromotionCodes
  • החזרים כספיים
  • ShippingRates
  • מינויים
  • TaxRates
  • TopUps
  • העברות
  • ValueListItems
  • ValueLists

פתרון בעיות בהגדרת ההעברה

אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בעיות בהעברת נתונים מ-Stripe.

תמחור

בשלב התצוגה המקדימה של התכונה הזו, אין עלות להעברת נתונים מ-Stripe ל-BigQuery.

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