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

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

המחבר של Shopify תומך בהעברת נתונים של משאבים מבוססי-GraphQL, כמו Collections ו-Orders, מהמשאבים הבאים:

  • חשבונות שמבוססים על מינויים
  • חשבונות שותפים

מגבלות

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

  • כדי לכלול את האובייקט GiftCards בהעברת הנתונים, החשבון שמשויך להעברת הנתונים הזו צריך להיות עם מינוי ל-ShopifyPlus.
  • כדי לכלול את אובייקטי הנתונים הבאים של מינויים לאפליקציות בהעברת הנתונים, האפליקציה שמותקנת בחנות Shopify צריכה להיות אפליקציה של ערוץ מכירות.
    • AppSubscriptionLineItems
    • AppSubscriptions
    • ProductResourceFeedbacks
  • כדי לכלול את אובייקטי הנתונים הבאים של Shopify שדורשים פונקציית הנחה, צריך להשתמש ב-Shopify CLI כדי ליצור אפליקציית Shopify.
    • DiscountsCodeApp
    • DiscountsCodeBasic

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

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

דרישות מוקדמות ב-Shopify

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

דרישות מוקדמות ל-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.

אם אתם מתכוונים להגדיר התראות על הפעלת העברות ב-Pub/Sub, ודאו שיש לכם את ההרשאה pubsub.topics.setIamPolicy לניהול זהויות והרשאות גישה (IAM). אם אתם מגדירים רק התראות באימייל, אתם לא צריכים הרשאות Pub/Sub. מידע נוסף זמין במאמר התראות על הפעלות של שירות העברת הנתונים ל-BigQuery.

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

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

המסוף

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

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

  2. ‫לוחצים על Create transfer.

  3. בקטע Source type (סוג המקור), בוחרים באפשרות Shopify בשדה Source (מקור).

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

    • בשדה שם החנות, מזינים את שם החנות ב-Shopify. לדוגמה, אם מספר חשבון של המוכר/ת שלכם הוא storename.myshopify.com, שם החנות שלכם הוא storename.
    • בשדות Client ID ו-Client Secret, מזינים את מזהה הלקוח ואת סוד הלקוח של האפליקציה ב-Shopify. מידע נוסף זמין במאמר מידע על סודות לקוח.
    • בשדה Shopify objects to transfer, לוחצים על Browse:
      • בוחרים את האובייקטים שרוצים להעביר למערך הנתונים של היעד ב-BigQuery. אפשר גם להזין ידנית בשדה הזה את האובייקטים שרוצים לכלול בהעברת הנתונים.
  5. בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם כדי לאחסן את הנתונים.

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

  7. בקטע אפשרויות תזמון:

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

    • כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם הפעלת ההעברה נכשלת.
    • כדי להפעיל התראות על הפעלת העברות ב-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=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

כאשר:

  • ‫PROJECT_ID (אופציונלי): מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט מסוים באמצעות --project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • DATA_SOURCE: מקור הנתונים – shopify.
  • ‫NAME: השם המוצג של הגדרות העברת הנתונים. שם ההעברה יכול להיות כל ערך שמאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
  • DATASET: קבוצת הנתונים של היעד להגדרות ההעברה.
  • ‫PARAMETERS: הפרמטרים של הגדרות ההעברה שנוצרו, בפורמט JSON. לדוגמה: --params='{"param":"param_value"}'. אלה הפרמטרים להעברת נתונים מ-Shopify:

    • ‫assets: הנתיב לאובייקטים של Shopify שיועברו ל-BigQuery.
    • ‫connector.shopName: השם של החנות ב-Shopify. לדוגמה, אם מספר חשבון המוכר/ת שלכם הוא storename.myshopify.com, שם החנות שלכם הוא storename.
    • ‫connector.authentication.accessToken: טוקן הגישה ל-Shopify Admin API.

הפקודה הבאה יוצרת העברת נתונים מצטברת מ-Shopify בפרויקט ברירת המחדל.

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=shopify
    --display_name='My Transfer'
    --params='{"assets": ["Orders"]
        "connector.shopName": "storename",
        "connector.authentication.accessToken":"sk_test_123456789"}'
כששומרים את הגדרות ההעברה, המחבר של Shopify מפעיל באופן אוטומטי את הרצת ההעברה בהתאם לאפשרות התזמון שבחרתם. בכל הפעלה של העברה, המחבר של Shopify מעביר את כל הנתונים הזמינים מ-Shopify ל-BigQuery.

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

אובייקטים נתמכים והיקפי הרשאות נדרשים

בטבלה הבאה מפורטים אובייקטי הנתונים של Shopify שאפשר להעביר ל-BigQuery, וההיקפים הנדרשים לכל אובייקט.

אובייקט נתונים היקף ההרשאות הנדרש
AppFeedbacks לא נדרש היקף הרשאות
AppSubscriptionLineItems לא נדרש היקף הרשאות
AppSubscriptions לא נדרש היקף הרשאות
קטלוגים read_products או read_product_listings
read_publications
אוספים read_products
read_publications
חברות read_customers או read_companies
CompanyContactRoleAssignments read_customers או read_companies
CompanyContacts read_customers או read_companies
CompanyLocations read_customers או read_companies
לקוחות read_customers
write_customers
read_customer_merge
read_locations או read_inventory
read_markets
read_orders
DeliveryProfiles read_products
read_shipping
DiscountsAutomaticApp read_discounts
DiscountsAutomaticBasic read_discounts
DiscountsAutomaticBxgy read_discounts
DiscountsCodeApp read_discounts
DiscountsCodeBasic read_discounts
DiscountsCodeBxgy read_discounts
DraftOrders read_customers
read_draft_orders
read_orders
read_payment_terms
קבצים read_files
FulfillmentEvents read_orders
FulfillmentOrders read_locations
read_orders
‫read_assigned_fulfillment_orders או read_merchant_managed_fulfillment_orders או read_third_party_fulfillment_orders
Fulfillments read_fulfillments או read_products
read_locations
read_orders
FulfillmentServices read_locations או read_inventory
‫read_fulfillments או read_products או read_custom_fulfillment_services או assigned_fulfillment_orders
FulfillmentTrackingInfo read_fulfillments או read_products
read_locations
read_orders
GiftCards read_gift_cards
read_orders
read_customers
InventoryItems read_inventory
read_products
מיקומים read_locations
read_fulfillments
Metafields_Article read_content
Metafields_Blog read_content
Metafields_Collection read_products
read_publications
Metafields_Customer read_customers
write_customers
read_customer_merge
read_locations או read_inventory
read_markets
read_orders
Metafields_Draft_Order read_customers
read_draft_orders
read_orders
read_payment_terms
Metafields_Order read_customers
read_inventory
read_locations
read_orders
read_payment_terms
Metafields_Page read_content
Metafields_Product read_products
read_product_listings
read_publications
Metafields_Selling_Plan read_products
Metafields_Shop לא נדרש היקף הרשאות
Metafields_Variant read_products
read_shipping
OrderLineItems read_orders
read_products
OrderRiskAssessments read_orders
הזמנות read_customers
read_inventory
read_locations
read_orders
read_payment_terms
read_draft_orders
read_products או read_fulfillments
OrderTransactions read_orders
read_products
PriceLists read_products
ProductMediaImages read_products
ProductOptions read_products
ProductOptionValues read_products
ProductResourceFeedbacks read_resource_feedbacks
read_products
מוצרים read_products
read_product_listings
read_publications
ProductVariants read_products
read_shipping
אתרי חדשות read_products
read_publications
החזרים כספיים read_products
read_orders
read_returns
החזרות read_orders
read_returns
ScriptTags read_script_tags
פלחים read_customers
SellingPlanGroups read_products
StorefrontAccessTokens לא נדרש היקף הרשאות
UrlRedirects read_online_store_navigation

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

בטבלה הבאה מפורטים סוגי הנתונים ב-Shopify וסוגי הנתונים התואמים ב-BigQuery:

סוג הנתונים ב-Shopify סוג הנתונים ב-BigQuery
String STRING
Int INT64
Decimal NUMERIC
Double FLOAT64
Long BIGNUMERIC
Bool BOOL
Datetime TIMESTAMP

תמחור

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

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

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

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

  • לסקירה כללית של שירות העברת הנתונים ל-BigQuery, קראו את המאמר מהו שירות העברת הנתונים ל-BigQuery.
  • במאמר ניהול העברות מוסבר איך משתמשים בהעברות, כולל איך מקבלים מידע על הגדרת העברה, איך מציגים רשימה של הגדרות העברה ואיך מציגים את היסטוריית ההרצה של העברה.