טעינת נתונים מ-Shopify ל-BigQuery
אתם יכולים לטעון נתונים מ-Shopify ל-BigQuery באמצעות שירות העברת הנתונים ל-BigQuery למחבר של Shopify. בעזרת שירות העברת הנתונים ל-BigQuery, אתם יכולים לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Shopify ל-BigQuery.
המחבר של Shopify תומך בהעברת נתונים של משאבים מבוססי-GraphQL, כמו Collections ו-Orders, מהמשאבים הבאים:
- חשבונות שמבוססים על מינויים
- חשבונות שותפים
מגבלות
העברות נתונים מ-Shopify כפופות למגבלות הבאות:
- כדי לכלול את האובייקט
GiftCardsבהעברת הנתונים, החשבון שמשויך להעברת הנתונים הזו צריך להיות עם מינוי ל-ShopifyPlus. - כדי לכלול את אובייקטי הנתונים הבאים של מינויים לאפליקציות בהעברת הנתונים, האפליקציה שמותקנת בחנות Shopify צריכה להיות אפליקציה של ערוץ מכירות.
AppSubscriptionLineItemsAppSubscriptionsProductResourceFeedbacks
- כדי לכלול את אובייקטי הנתונים הבאים של Shopify שדורשים פונקציית הנחה, צריך להשתמש ב-Shopify CLI כדי ליצור אפליקציית Shopify.
DiscountsCodeAppDiscountsCodeBasic
לפני שמתחילים
בקטעים הבאים מתוארות הדרישות המוקדמות שצריך לבצע לפני שיוצרים העברת נתונים מ-Shopify.
דרישות מוקדמות ב-Shopify
- צריך להיות לכם חשבון Shopify וחנות ב-Shopify.
- צריכה להיות לכם אפליקציית Shopify בהתאמה אישית לחנות שלכם ב-Shopify. מידע נוסף זמין במאמר אפליקציות בהתאמה אישית.
- צריכה להיות לכם גישה להיקף הנדרש של אובייקט הנתונים של Shopify שאתם רוצים להעביר ל-BigQuery. רשימה של היקפי ההרשאות הנדרשים לכל אובייקט מופיעה במאמר אובייקטים נתמכים והיקפי הרשאות נדרשים.
דרישות מוקדמות ל-BigQuery
- מוודאים שביצעתם את כל הפעולות הנדרשות כדי להפעיל את שירות העברת הנתונים ל-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, צריך להגדיר העברה באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Data transfers במסוף Google Cloud .
לוחצים על Create transfer.
בקטע Source type (סוג המקור), בוחרים באפשרות Shopify בשדה Source (מקור).
בקטע פרטי מקור הנתונים, מבצעים את הפעולות הבאות:
- בשדה שם החנות, מזינים את שם החנות ב-Shopify.
לדוגמה, אם מספר חשבון של המוכר/ת שלכם הוא
storename.myshopify.com, שם החנות שלכם הואstorename. - בשדות Client ID ו-Client Secret, מזינים את מזהה הלקוח ואת סוד הלקוח של האפליקציה ב-Shopify. מידע נוסף זמין במאמר מידע על סודות לקוח.
- בשדה Shopify objects to transfer, לוחצים על Browse:
- בוחרים את האובייקטים שרוצים להעביר למערך הנתונים של היעד ב-BigQuery. אפשר גם להזין ידנית בשדה הזה את האובייקטים שרוצים לכלול בהעברת הנתונים.
- בשדה שם החנות, מזינים את שם החנות ב-Shopify.
לדוגמה, אם מספר חשבון של המוכר/ת שלכם הוא
בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם כדי לאחסן את הנתונים.
בקטע Transfer config name, בשדה Display name, נותנים שם להעברת הנתונים.
בקטע אפשרויות תזמון:
- ברשימה 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=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 שאפשר להעביר ל-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.
- במאמר ניהול העברות מוסבר איך משתמשים בהעברות, כולל איך מקבלים מידע על הגדרת העברה, איך מציגים רשימה של הגדרות העברה ואיך מציגים את היסטוריית ההרצה של העברה.