המבנה של ייצוא נתוני התמחור

במאמר הזה מפורטת הסכימה של נתוני התמחור של החיוב ב-Cloud, שמיוצאת לכל טבלה ב-BigQuery.

הסכימה של נתוני התמחור

במערך הנתונים ב-BigQuery, נתוני התמחור בחשבון לחיוב ב-Cloud נטענים לטבלת נתונים שנקראת cloud_pricing_export.

בטבלה הבאה מפורטת הסכימה של נתוני התמחור בחשבון לחיוב ב-Cloud שמיוצאים ל-BigQuery.

שדה סוג תיאור
export_time Timestamp משתנה שמייצג את הזמן שבו בוצע העיבוד ומשויך לתוספת הנתונים של החיוב ב-Cloud. הערך בשדה הזה יגדל בכל ייצוא חדש.
pricing_as_of_time Timestamp נתוני התמחור הרלוונטיים בחשבון לחיוב ב-Cloud נוצרים פעם ביום כדי שיהיו מוכנים לייצוא ל-BigQuery. הערך בשדה הזה הוא חותמת הזמן היומית של מועד יצירת נתוני התמחור.
billing_account_id String מזהה החשבון לחיוב ב-Cloud שאליו משויך התמחור.
billing_account_name String

השם של החשבון לחיוב ב-Cloud שאליו משויך התמחור.

business_entity_name String השם של משפחת שירותי Google שמכילה את השירות שבו מוצע המק"ט. הערכים יכולים להיות GCP‏ (Google Cloud) או מפות Google (הפלטפורמה של מפות Google).
service.id String המזהה של השירות ב- Google Cloud או של Google Maps Platform API שדיווחו על נתוני החיוב ב-Cloud. לדוגמה: 6F81-5844-456A.
service.description String תיאור השירות של Google Cloud או של Google Maps Platform API שדיווחו על נתוני החיוב ב-Cloud. לדוגמה: Compute Engine.
sku.id String המזהה הייחודי של מק"ט המשאב שבו משתמש השירות. לדוגמה: 2E27-4F75-95CD. הרשימה המלאה של המק"טים מופיעה כאן: מק"טים של .
sku.description String תיאור קריא לאנשים של מק"ט המשאב שבו משתמש השירות. לדוגמה: N1 Predefined Instance Core running in Americas.
sku.destination_migration_mappings Array of Strings שמות המק"טים (היעד) שאליהם המק"ט הזה יועבר.
product_taxonomy Array of Strings רשימה של קטגוריות המוצרים שרלוונטיות למק"ט, למשל Serverless,‏ Cloud Run,‏ TaskQueue,‏ VMs On Demand,‏ Cores: Per Core ועוד.
geo_taxonomy Struct מטא-נתונים גיאוגרפיים שמוחלים על המק"ט, למשל אזורים ומספר אזורים כמו us-east4 ו-European Union.
geo_taxonomy.type String סוג המטא-נתונים הגיאוגרפיים שמשויכים למק"ט. הערכים התקינים הם:
  • GLOBAL – בלי אזורים
  • REGIONAL – עם אזור אחד
  • MULTI_REGION – עם שני אזורים או יותר
geo_taxonomy.regions Array of Strings האזורים של Google Cloud שמשויכים למק"ט. לדוגמה: Europe-west2 או US.

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

pricing_unit String הקיצור של יחידת השימוש שבה צוין התמחור (למשל GiBy.mo).
pricing_unit_description String תיאור קריא לאנשים של יחידת השימוש (למשל gibibyte month).
account_currency_code String המטבע שהוגדר לשימוש בחשבון לחיוב ב-Cloud. הוא מופיע כקוד מטבע באורך שלוש אותיות כמו שמוגדר בתקן ISO 4217. מידע נוסף זמין במאמר מטבע מקומי לחיוב ותשלומים אוטומטיים.
currency_conversion_rate String שער החליפין מדולר ארה"ב למטבע המקומי שמוגדר בחשבון לחיוב ב-Cloud. אם המטבע בחשבון לחיוב ב-Cloud הוא דולר ארה"ב, ברירת המחדל של שער החליפין היא 1.0.

אם עלויות החיוב ב-Cloud מחויבות במטבע שאינו דולר ארה"ב, תוכלו להמיר את עלויות השימוש לדולר ארה"ב לפי הנוסחה: עלות השימוש בדולר ארה"ב =‏ ‎cost‎ ‎÷‎ currency_conversion_rate‎.

אם החיובים של Google הם במטבע המקומי, ההמרה של המחירים למטבע המקומי הרלוונטי מתבצעת בהתאם לשערי ההמרה שמוסדות פיננסיים מובילים מפרסמים. אותו עיקרון חל על תשלומים נוספים שנצברו לחיוב במטבע שאינו דולר ארה"ב. ההמרה מתבצעת לפי השערים שבתוקף ב-pricing_as_of_time.

list_price Struct

מחיר המחירון של המק"טים ב- Google Cloud או בפלטפורמה של מפות Google ורמות התמחור של המק"טים, נכון ל-pricing_as_of_time.

list_price מכיל שדות שמתארים את המבנה ואת הערך של מחיר המחירון, כולל:

מחירי המחירון זמינים ב-list_price.tiered_rates.usd_amount

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

billing_account_price Struct

אם העלויות מוגדרות לפי חוזה עם מחיר מוסכם בהתאמה אישית, זהו מחיר המק"ט שמוסכם בחוזה שמקושר לחשבון לחיוב ב-Cloud.

billing_account_price מכיל שדות שמתארים את המבנה ואת הערך של המחיר המוסכם והמותאם של המק"טים ב- Google Cloudובפלטפורמה של מפות Google, ואת רמות התמחור של המק"טים. הערך של billing_account_price יכול להיות:

המחירים המוסכמים בחוזה (אם רלוונטי לחשבון שלכם לחיוב ב-Cloud) זמינים ב-billing_account_price.tiered_rates.usd_amount

price_info Struct נתוני רקע על המחיר המוסכם.
price_info.price_reason String

נתוני רקע על המקור של המחיר המוסכם בחוזה.

הסיבות כוללות:

  • DEFAULT_PRICE: מחיר ברירת המחדל הוא מחיר המחירון הנוכחי של המק"ט.
  • FIXED_PRICE: מחיר קבוע ומוגדר למק"ט, שחל במהלך תקופת החוזה.
  • FIXED_DISCOUNT: אחוז ההנחה ממחיר המחירון, שמוצמד למחיר המחירון נכון לתאריך קבוע.
  • FLOATING_DISCOUNT: אחוז ההנחה ממחיר המחירון הנוכחי (לא מוצמד למחיר מחירון נתון בתאריך ספציפי).
  • MIGRATED_PRICE: האפשרות הזו רלוונטית למחירים שהועברו ממק"טים אחרים.
  • MERGED_PRICE: מחיר המק"ט לאחר מיזוג ממספר מקורות. לדוגמה, אם ממזגים כמה רמות, כל אחת מהרמות יכולה להגיע ממקור שונה עם סוגי הנחה שונים.
  • LIST_PRICE_AS_CEILING: זהו מאפיין אופציונלי שזמין בחוזים חדשים שנוצרו אחרי 21 במרץ 2022. כשהוא פועל, אם הערך של current list price נמוך מהערך של custom fixed price, מחיר המק"ט נקבע לפי מחיר המחירון (DEFAULT_PRICE). המאפיין חל על כל המק"טים בחוזה עם מחיר קבוע, כולל FIXED_PRICE,‏ FIXED_DISCOUNT,‏ MIGRATED_PRICE ו-MERGED_PRICE.
  • CONTRACTED_PRICE_PROTECTION: האפשרות הזו רלוונטית למק"טים שמוגנים במחיר בחוזה שלכם, ומשתמשים בה לעיתים רחוקות.
price_info.discount_percent Numeric במקרה של מחירים מוסכמים בחוזה כתוצאה מהנחה באחוזים (FIXED_DISCOUNT או FLOATING_DISCOUNT), זהו אחוז ההנחה שבשימוש.
price_info.discount_percent_fixed_date Date במקרה של מחירים מוסכמים בחוזה עם הנחה באחוזים שמוצמדת לתאריך ספציפי (FIXED_DISCOUNT), זהו התאריך שבשימוש.
price_info.discount_migrated_from String במקרה של הנחות על מחירים מוסכמים בחוזה שהועברו ממק"טים אחרים (MIGRATED_PRICE), זהו מק"ט המקור של ההנחה. אם המק"ט מחולק לשניים, לפעמים ההנחה מועברת מהמק"ט הישן למק"טים החדשים.
aggregation_info Struct רמת הצבירה ופרק הזמן של רמות התמחור של מק"ט יחיד.
aggregation_info.aggregation_level String הרמה שבה השימוש נצבר לצורך חישוב העלות ברמות התמחור.

הרמות כוללות את אלה:

  • ACCOUNT: מציין מק"ט עם תמחור במספר רמות. השימוש במק"ט ברמות התמחור נצבר בכל הפרויקטים בחשבון יחיד לחיוב ב-Cloud.
  • PROJECT: מציין מק"ט עם תמחור במספר רמות. השימוש במק"ט ברמות התמחור נצבר לפי פרויקט.
  • UNKNOWN_AGGREGATION_LEVEL: מציין מק"ט עם תמחור ברמה אחת. זהו ערך ברירת המחדל של מק"טים עם תמחור בלי רמות.
aggregation_info.aggregation_interval String פרק הזמן שבו השימוש נצבר לצורך חישוב העלות ברמות התמחור.

פרקי הזמן כוללים את אלה:

  • ONE_DAY: מציין מק"ט עם תמחור במספר רמות. השימוש במק"ט ברמות התמחור נצבר בכל יום.
  • ONE_MONTH: מציין מק"ט עם תמחור במספר רמות. השימוש במק"ט ברמות התמחור נצבר בכל חודש.
  • UNKNOWN_AGGREGATION_INTERVAL: מציין מק"ט עם תמחור ברמה אחת. זהו ערך ברירת המחדל של מק"טים עם תמחור בלי רמות.
tiered_rates Array of Strings מידע על רמת התמחור, כולל מחיר המק"ט בדולר ארה"ב ומחיר המק"ט במטבע שהוגדר לשימוש בחשבון לחיוב ב-Cloud.

לחלק מהמק"טים יש רק רמת תמחור אחת. אם למק"ט יש כמה רמות תמחור, כל רמת תמחור תופיע בשורה נפרדת. אפשר לזהות מק"טים עם כמה רמות תמחור לפי tiered_rates.start_usage_amount.

tiered_rates.pricing_unit_quantity Float כמות היחידות של רמת התמחור של המק"ט. לדוגמה, אם המחיר ברמה הוא ‎1$ לכל 1000000 בייטים, בעמודה הזו יופיע הערך 1000000.
tiered_rates.start_usage_amount Float סכום הרף התחתון של רמת תמחור נתונה, לפי יחידות תמחור. לדוגמה, מק"ט עם שלוש רמות תמחור, למשל 0-100 יחידות, 101-1000 יחידות ו-1001 ויותר יחידות, יציג שלוש שורות תמחור, עם הערכים 0, 101 ו-1001 בשדה ‎[tiered_rates].start_usage_amount‎.
tiered_rates.usd_amount Numeric המחיר של המק"ט בדולר ארה"ב.
tiered_rates.account_currency_amount Numeric המחיר ברמה של המק"ט, שהומר באמצעות currency_conversion_rate, מדולר ארה"ב למטבע שמוגדר בחשבון לחיוב ב-Cloud.

המחיר אחרי ההמרה מחושב לפי הנוסחה הבאה: tiered_rates.usd_amount * currency_conversion_rate = tiered_rates.account_currency_amount.

אם החיובים של Google הם במטבע המקומי, ההמרה של המחירים למטבע המקומי הרלוונטי מתבצעת בהתאם לשערי ההמרה שמוסדות פיננסיים מובילים מפרסמים. אותו עיקרון חל על תשלומים נוספים שנצברו לחיוב במטבע שאינו דולר ארה"ב. ההמרה מתבצעת לפי השערים שבתוקף ב-pricing_as_of_time.

הסבר על רמות התמחור

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

  • מק"טים עם רמה של שימוש בחינם. לדוגמה: 1 עד 1,000 יחידות הן בחינם. ‫1,001 יחידות ומעלה מתומחרות ב-1$ לכל יחידה.
  • מק"טים שבהם המחיר ליחידה יורד אחרי חריגה מכמות השימוש ברמה מסוימת. לדוגמה: 1 עד 100 יחידות מתומחרות ב-5$ ליחידה, 101 עד 1,000 יחידות מתומחרות ב-4$ ליחידה, ו-1,001 יחידות ומעלה מתומחרות ב-3$ ליחידה.

כמה הערות בקשר לתמחור רב-שכבתי:

  • מונה השימוש של רמת התמחור מתאפס בהתאם לערך בשדה aggregation_interval (יומי או חודשי) שהוגדר למק"ט.

    • מק"טים יומיים מתאפסים בכל יום בחצות לפי שעון החוף המערבי בארה"ב ובקנדה (UTC-8 או UTC-7).
    • מק"טים חודשיים מתאפסים ביום הראשון של כל חודש קלנדרי (לדוגמה: ינואר, פברואר וכן הלאה), בחצות, לפי שעון החוף המערבי בארה"ב ובקנדה (UTC-8 או UTC-7).
  • רמות התמחור פועלות בנפרד זו מזו בכל חשבון לחיוב ב-Cloud. הן לא מצטברות במספר חשבונות לחיוב ב-Cloud, גם אם הפרויקטים נמצאים באותו ארגון (Organization) או שייכים לאותה ישות משפטית.

  • כל רמת תמחור פועלת בנפרד לכל מק"ט: השימוש במק"ט מסוים משפיע רק על המחיר של אותו המק"ט. אין מק"טים שהשימוש בהם משפיע על רמות התמחור של מק"טים אחרים.

  • יכול להיות שרמות התמחור למחירי המחירון של המק"טים לא יהיו תואמות בדיוק לרמות התמחור של המחירים שמוסכמים בחוזה. התרחיש הזה הוא נדיר.

  • אם למק"ט יש כמה רמות תמחור, המחיר של כל רמת תמחור של המק"ט מופיע כשורה נפרדת בטבלת המחירים. אפשר לזהות מק"טים עם כמה רמות תמחור לפי tiered_rates.start_usage_amount.

  • בהתאם לאופן כתיבת השאילתה, אפשר להציג את רמות התמחור של המק"ט באמצעות נתונים בתצוגת עץ או נתונים שלא בתצוגת עץ. מידע נוסף על נתונים בתצוגת עץ ונתונים שלא בתצוגת עץ מופיע בדוגמאות האלה.

דוגמאות לשאילתות של נתוני תמחור

בקטע הזה מפורטות דוגמאות לשאילתות של נתוני התמחור בחיוב ב-Cloud שיוצאו ל-BigQuery.

בקטע הזה מוצגות דוגמאות שונות לשאילתות של נתוני תמחור בחיוב ב-Cloud שיוצאו ל-BigQuery.

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

בדוגמאות לשאילתות בקטע הזה נעשה שימוש בערכים הבאים:

  • Table name: project.dataset.cloud_pricing_export
  • SKU ID:‏ ‎2DA5-55D3-E679 (Cloud Run – Requests)

הצגת מחירי מחירון למק"ט ספציפי

בדוגמה הזו מופיעה שאילתה שמציגה את הערך בשדה list_price של כל רמת תמחור למק"ט מסוים.

SQL סטנדרטי

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

השדה _PARTITIONTIME נוצר באופן אוטומטי על ידי BigQuery ומייצג את התאריך שאליו שייכים הנתונים. במקום השדה _PARTITIONTIME, אפשר להשתמש בשדה שנוצר באופן מפורש על ידי הייצוא בחיוב ב-Cloud, למשל pricing_as_of_time.

לפניכם אותה שאילתה שהוגדרה להשתמש בשדה pricing_as_of_time:

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(pricing_as_of_time) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה

Row id description pricing_unit aggregation_info.‎
aggregation_level
aggregation_info.‎
aggregation_interval
tiered_rates.‎
pricing_unit_quantity
tiered_rates.‎
start_usage_amount
tiered_rates.‎
usd_amount
tiered_rates.‎
account_currency_amount
1 2DA5-55D3-E679 Requests COUNT ACCOUNT MONTHLY 1000000 0 0 0
          1000000 2000000 0.4 0.4

הצגת מחירי המחירון למק"ט ספציפי, כולל תיאור של השירות

בשתי הדוגמאות בקטע הזה מופיעות שאילתות שמציגות את הערך בשדה list_price לכל רמת תמחור למק"ט מסוים, והן כוללות את תיאור המק"ט ואת תיאור השירות.

  • בדוגמה 1 מוצג מק"ט אחד לכל שורה, ורמות התמחור מופיעות כנתונים בתצוגת עץ.
  • בדוגמה 2 הנתונים מופיעים שלא בטבלת עץ, כדי להציג שורה אחת לכל מק"ט בכל רמת תמחור.

דוגמה 1: הצגת נתונים בתצוגת עץ

בדוגמה הזו מופיעה שאילתה למק"ט יחיד שנועדה להציג את הנתונים של השדה list_price. למק"ט הזה יש כמה רמות תמחור. הערכים בשדה list price מופיעים בשורות נפרדות, שמוצגות בתצוגת עץ מתחת לשורת מזהה המק"ט.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description aggregation_info.‎
aggregation_level
aggregation_info.‎
aggregation_interval
tiered_rates.‎
pricing_unit_quantity
tiered_rates.‎
start_usage_amount
tiered_rates.‎
usd_amount
tiered_rates.‎
account_currency_amount
1 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run ACCOUNT MONTHLY 1000000 0 0 0
            1000000 2000000 0.4 0.4

דוגמה 2: הצגת נתונים שלא בתצוגת עץ, שמאוחדים באותה טבלה

בדוגמה הזו מופיעה שאילתה למק"ט יחיד שנועדה להציג את הערך בשדה list price. למק"ט יש כמה רמות תמחור. בשאילתה מוצג אופן השימוש באופרטור UNNEST כדי לשטח את המערך tiered_rates ולאחד את השדות לאותה טבלה, כך שכל רמת תמחור תופיע בשורה אחת.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run 1000000.0 0.0 0.0 0.0
2 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run 1000000.0 2000000.0 0.4 0.4

שימוש בטקסונומיית מוצרים ובטקסונומיה גיאוגרפית לשליחת שאילתות לגבי מק"טים

הצגת טקסונומיית המוצרים של מק"ט

בדוגמה הזו מופיעה שאילתה שמציגה את הרשימה product_taxonomy למק"ט מסוים, שבו מזהה המק"ט (SKU ID)‏ = ‎2DA5-55D3-E679 ‏(Cloud Run – Requests)‎.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description product_taxonomy
1 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run GCP
        Serverless
        Cloud Run
        Other

הצגת כל המק"טים בטקסונומיית מוצרים ספציפית

בדוגמה הזו מופיעה שאילתה שמציגה את כל המק"טים שתואמים לערך product_taxonomy מסוים. בשאילתה הזו הערך Serverless מצוין בשדה product taxonomy.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
     AND "Serverless" in UNNEST(product_taxonomy)
LIMIT 10
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description product_taxonomy
1 0160-BD7B-4C40 Cloud Tasks Network Intra Region Egress F3A6-D7B7-9BDA Cloud Tasks GCP
        Serverless
        Cloud Tasks
        Other
2 FE08-0A74-7AFD Cloud Tasks GOOGLE-API Egress F3A6-D7B7-9BDA Cloud Tasks GCP
        Serverless
        Cloud Tasks
        Other
3 A81A-32A2-B46D Task Queue Storage Salt Lake City F17B-412E-CB64 App Engine GCP
        Serverless
        GAE
        Other
        TaskQueue

הצגת כל המק"טים בטקסונומיה גיאוגרפית ספציפית ובטקסונומיית מוצרים ספציפית

בדוגמה הזו מופיעה שאילתה שמציגה את כל המק"טים שתואמים לאזור geo_taxonomy מסוים ולערך product_taxonomy מסוים, שבהם ‎region = us-east4‎ וגם ‎product_taxonomy = VMs On Demand‎.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       geo_taxonomy,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND "VMs On Demand" in UNNEST(product_taxonomy)
      AND geo_taxonomy.type = "REGIONAL"
      AND "us-east4" in UNNEST (geo_taxonomy.regions)
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description geo_taxonomy.type geo_taxonomy.regions product_taxonomy
1 9174-81EE-425B Sole Tenancy Premium for Sole Tenancy Instance Ram running in Virginia 6F81-5844-456A Compute Engine REGIONAL us-east4 GCP
            Compute
            GCE
            VMs On Demand
            Memory: Per GB
2 C3B9-E891-85ED Sole Tenancy Instance Ram running in Virginia 6F81-5844-456A Compute Engine REGIONAL us-east4 GCP
            Compute
            GCE
            VMs On Demand
            Memory: Per GB
3 6E2A-DCD9-87ED N1 Predefined Instance Ram running in Virginia 6F81-5844-456A Compute Engine REGIONAL us-east4 GCP
            Compute
            GCE
            VMs On Demand
            Memory: Per GB

הצגת מחירי המחירון של מק"ט עם כמה רמות תמחור

השאילתה לגבי נתוני BigQuery מתבצעת לפי שם הטבלה. שם הטבלה שמופיע בקטע FROM של השאילתה נקבע לפי שלושה ערכים: project.dataset.BQ_table_name.

ערכים נפוצים שכלולים בדוגמאות האלו:

  • Table name: project.dataset.cloud_pricing_export
  • SKU ID:‏ ‎2DA5-55D3-E679 (Cloud Run – Requests)

דוגמה 1: הצגת נתונים בתצוגת עץ

בדוגמה הזו מופיעה שאילתה למק"ט יחיד שנועדה להציג את הנתונים של השדה list_price. למק"ט הזה יש כמה רמות תמחור. הערכים בשדה list price מופיעים בשורות נפרדות, שמוצגות בתצוגת עץ מתחת לשורת מזהה המק"ט.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description aggregation_info.‎
aggregation_level
aggregation_info.‎
aggregation_interval
tiered_rates.‎
pricing_unit_quantity
tiered_rates.‎
start_usage_amount
tiered_rates.‎
usd_amount
tiered_rates.‎
account_currency_amount
1 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run ACCOUNT MONTHLY 1000000 0 0 0
            1000000 2000000 0.4 0.4

דוגמה 2: הצגת נתונים שלא בתצוגת עץ, שמאוחדים באותה טבלה

בדוגמה הזו מופיעה שאילתה למק"ט יחיד שנועדה להציג את הערך בשדה list price. למק"ט יש כמה רמות תמחור. השאילתה מדגימה איך להשתמש באופרטור UNNEST כדי לשטח את המערך tiered_rates ולאחד את השדות לאותה טבלה, כך שכל רמת תמחור תופיע בשורה אחת.

SQL סטנדרטי

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

תוצאות השאילתה:

Row sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run 1000000.0 0.0 0.0 0.0
2 2DA5-55D3-E679 Requests 152E-C115-5142 Cloud Run 1000000.0 2000000.0 0.4 0.4

דוחות של עלויות ותמחור שזמינים במסוף Google Cloud‏