המבנה של ייצוא נתונים סטנדרטיים

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

סכימה של נתונים סטנדרטיים של עלויות השימוש

במערך הנתונים שלכם ב-BigQuery, הנתונים הסטנדרטיים של עלויות השימוש ב- Google Cloudנטענים לטבלת נתונים שנקראת gcp_billing_export_v1_<BILLING_ACCOUNT_ID>.

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

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

  • כשבוחרים או יוצרים מערך נתונים של BigQuery לנתוני עלות סטנדרטיים של שימוש, תוכלו לבחור כל מיקום של מערך נתונים שבו אפשר להשתמש לנתוני החיוב ב-Cloud.
  • אם תפעילו את הייצוא של נתוני העלות הסטנדרטיים של השימוש בפעם הראשונה בחיוב ב-Cloud, ותבחרו מערך נתונים שהוגדר להיות במספר אזורים (באיחוד האירופי או בארה"ב), נתוני החיוב ב-Cloud יהיו זמינים רטרואקטיבית מתחילת החודש הקודם. הנתונים מיוצאים בסדר כרונולוגי. במילוי החוסרים הראשוני (backfill), הייצוא של נתוני החיוב הרטרואקטיביים ב-Cloud יסתיים תוך עד 5 ימים ורק אז תתחילו לראות את נתוני השימוש האחרונים.
  • אם תפעילו את הייצוא של נתוני העלות הסטנדרטיים של השימוש ותבחרו מערך נתונים שהוגדר להיות באזור מסוים, נתוני החיוב ב-Cloud יהיו זמינים רטרואקטיבית מהתאריך שבו הפעלתם את הייצוא.
  • אם תפעילו, תשביתו ואז תפעילו מחדש את הייצוא של נתוני העלות הסטנדרטיים של השימוש, יכול להיות שנתוני החיוב ב-Cloud לא יהיו זמינים לתקופה שבה ייצוא הנתונים הושבת באופן מפורש.
  • למידע נוסף על תדירות טעינת הנתונים לטבלאות ב-BigQuery
  • נתוני העלות הסטנדרטיים של השימוש לא כוללים נתוני עלות ברמת המשאב, כמו מכונה וירטואלית או כונן SSD שיוצרים שימוש בשירות. כדי לייצא ל-BigQuery נתוני עלות ברמת המשאב לצורכי ניתוח, כדאי להפעיל את הייצוא של נתוני העלות המפורטים של השימוש. נתוני העלות המפורטים של השימוש שמיוצאים כוללים את כל השדות והמידע שכלולים בנתוני העלות הסטנדרטיים של השימוש.
  • חשוב להכיר מגבלות אחרות שעשויות להשפיע על ייצוא נתוני החיוב ל-BigQuery, כמו מערכי נתונים שבהם הופעלו מפתחות הצפנה בניהול הלקוח (CMEK).
שדה סוג תיאור
billing_account_id String

מספר החשבון לחיוב ב-Cloud שאליו משויך השימוש.

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

invoice.month String

השנה והחודש (בפורמט YYYYMM) של החשבונית שכוללת את פריטי העלות. לדוגמה: המחרוזת '201901' משמעותה ינואר 2019.

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

invoice.publisher_type String

ציון הגורם המדווח שקשור לטרנזקציה. באמצעות השדה הזה אפשר לחלק את החשבוניות בין טרנזקציות שבוצעו ישירות מול Google (צד ראשון) לבין טרנזקציות שבוצעו מול שותף (צד שלישי). בעזרת השדה הזה אפשר לדעת גם איזו רגולציה יכולה לחול על הטרנזקציה.

הערכים האפשריים הם:
  • GOOGLE: טרנזקציה לא מפוקחת (בלי רגולציה) מול צד ראשון ( Google Cloud).
  • PARTNER: טרנזקציה מפוקחת או לא מפוקחת מול צד שלישי (שותף).
cost_type String

סוג העלות שהפריט הזה מייצג: רגילה, מס, התאמה או שגיאת עיגול.

service.id String מזהה השירות שאליו משויך השימוש.
service.description String השירות ב- Google Cloud שדיווח על נתוני החיוב ב-Cloud.
sku.id String מזהה המשאב שהיה בשימוש של השירות. הרשימה המלאה של המק"טים מופיעה כאן: מק"טים של .
sku.description String תיאור של סוג המשאב שהשירות משתמש בו. לדוגמה, סוג המשאב ל-Cloud Storage הוא Standard Storage US.
usage_start_time Timestamp שעת ההתחלה של חלון השימוש השעתי שבו חושבה העלות הנתונה. נתוני השימוש והעלויות של כל השירותים מוצגים ברמת פירוט שעתית. לכן, שימוש ארוך בשירות יכול להתפרס על פני מספר חלונות שימוש שעתיים.

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

usage_end_time Timestamp שעת הסיום של חלון השימוש השעתי שבו חושבה העלות הנתונה. נתוני השימוש והעלויות של כל השירותים מוצגים ברמת פירוט שעתית. לכן, שימוש ארוך בשירות יכול להתפרס על פני מספר חלונות שימוש שעתיים.

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

project Struct השדה project כולל שדות שמתארים את הפרויקט בחיוב ב-Cloud, כמו ID,‏ number,‏ name,‏ ancestry_numbers ו-labels.
project.id String מזהה הפרויקט ב- Google Cloud שממנו נוצרו נתוני החיוב ב-Cloud.
project.number String מזהה ייחודי שנוצר באופן פנימי ואנונימי לפרויקט ב- Google Cloud שממנו נוצרו נתוני החיוב ב-Cloud. בבקשות תמיכה ובתקשורת אחרת עם הלקוחות, Google תתייחס לפרויקטים שלכם לפי מספר הפרויקט הזה.
project.name String השם של הפרויקט ב- Google Cloud שממנו נוצרו נתוני החיוב ב-Cloud.
project.ancestry_numbers String ישות האב בהיררכיית המשאבים של הפרויקט שמזוהה על ידי הערך שצוין בשדה project.id (לדוגמה, my-project-123).

לדוגמה: ‎/ParentOrgNumber/ParentFolderNumber/‎. למידע נוסף על היררכיית המשאבים

project.ancestors Struct

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

project.ancestors.resource_name String השם של המשאב היחסי לכל ישות אב בפורמט 'resourceType/resourceNumber'. באמצעות השדה project.ancestors.resource_name תוכלו לקבל תמונה מלאה יותר של הערכים בשדהproject.ancestry_numbers.
project.ancestors.display_name String השם שנתתם למשאב במסוף.
project.labels.key String אם יש תוויות, זה החלק של המַפתח בצמדי מפתח/ערך שמרכיבים את התווית, בפרויקט ב- Google Cloud שבו נעשה השימוש. אפשר לקרוא מידע נוסף על השימוש בתוויות.
project.labels.value String אם יש תוויות, זה החלק של הערך בצמדי מפתח/ערך שמרכיבים את התווית, בפרויקט ב- Google Cloud שבו נעשה השימוש. אפשר לקרוא מידע נוסף על השימוש בתוויות.
labels.key String אם יש תוויות, זה החלק של המַפתח בצמדי מפתח/ערך שמרכיבים את התווית, במשאב Google Cloud שבו נעשה השימוש. אפשר לקרוא מידע נוסף על השימוש בתוויות.
labels.value String אם יש תוויות, זה החלק של הערך בצמדי מפתח/ערך שמרכיבים את התווית, במשאב Google Cloud שבו נעשה השימוש. אפשר לקרוא מידע נוסף על השימוש בתוויות.
system_labels.key String אם יש תוויות ברמת המערכת, זה החלק של המַפתח בצמדי מפתח/ערך שמרכיבים את התווית שהמערכת יצרה אוטומטית, במשאב שבו נעשה השימוש. למידע נוסף אפשר לקרוא את המאמר תוויות מערכת זמינות.
system_labels.value String אם יש תוויות ברמת המערכת, זה החלק של הערך בצמדי מפתח/ערך שמרכיבים את התווית שהמערכת יצרה אוטומטית, במשאב שבו נעשה השימוש. למידע נוסף אפשר לקרוא את המאמר תוויות מערכת זמינות.
location.location String המיקום שבו נעשה השימוש ברמה של מספר אזורים, מדינה, אזור או תחום (zone), או global למשאבים שאין להם מיקום ספציפי. אפשר לקרוא מידע נוסף במאמר מיקום גיאוגרפי ואזורים ובמאמר מיקומים ב- Google Cloud .
location.country String כשהשדה location.location מכיל מדינה, אזור או תחום (zone), הוא מכיל את המדינה שבה היה השימוש. למשל: US. אפשר לקרוא מידע נוסף במאמר מיקום גיאוגרפי ואזורים ובמאמר מיקומים ב- Google Cloud .
location.region String כשהשדה location.location מכיל אזור או תחום (zone), הוא מכיל את האזור שבו היה השימוש. למשל us-central1. אפשר לקרוא מידע נוסף במאמר מיקום גיאוגרפי ואזורים ובמאמר מיקומים ב- Google Cloud .
location.zone String כשהשדה location.location מכיל תחום (zone), הוא מכיל את התחום שבו היה השימוש. למשל us-central1-a. אפשר לקרוא מידע נוסף במאמר מיקום גיאוגרפי ואזורים ובמאמר מיקומים ב- Google Cloud .
cost Float עלות השימוש לפני זיכויים, ברמת דיוק של עד שש ספרות אחרי הנקודה העשרונית. כדי לקבל את העלות הכוללת, כולל הזיכויים, צריך להוסיף את ערכי credits.amount לכל עלות. מידע נוסף זמין בשאילתה הזו לדוגמה.
currency String המטבע שבו גובים את העלות. למידע נוסף, אפשר לקרוא את המאמר מטבע מקומי לחיוב ותשלומים.
currency_conversion_rate Float שער החליפין מדולר ארה"ב למטבע המקומי. כלומר, התוצאה של החישוב ‎cost ÷ currency_conversion_rate‎ היא העלות בדולר ארה"ב.
usage.amount Float הכמות של usage.unit שהייתה בשימוש.
usage.unit String היחידה הבסיסית שלפיה נמדד השימוש במשאבים. לדוגמה, היחידה הבסיסית של אחסון סטנדרטי היא byte-seconds.
usage.amount_in_pricing_units Float הכמות של usage.pricing_unit שהייתה בשימוש.
usage.pricing_unit String היחידה שלפיה נמדד השימוש במשאבים, בהתאם ל-Cloud Billing Catalog API.
credits Struct credits מכיל שדות שמתארים את המבנה ואת הערכים של הזיכויים שמשויכים למק"טים של Google Cloud ושל פלטפורמת מפות Google.
credits.id String אם השדה הזה קיים, המשמעות היא שהשדה הזה משויך למק"ט של המוצר. ערכי השדה credits.id יכולים להכיל מזהה ייחודי אלפאנומרי (כמו 12-b34-c56-d78), או תיאור מילולי של סוג הזיכוי (למשל Committed Usage Discount: CPU).

אם השדה credits.id ריק, המשמעות היא שמק"ט המוצר לא משויך לזיכוי כלשהו.

credits.full_name String שם הזיכוי שמשויך למק"ט של המוצר. זהו תיאור (קריא לאנשים) של שדה credits.id אלפאנומרי. לדוגמה: Free trial credit או Spend-based committed use discount.

הערכים של credits.full_name מופיעים רק למק"טים שיש להם שדה credits.id אלפאנומרי. אם הערך של credits.id הוא תיאור של סוג הזיכוי (למשל Committed Usage Discount: CPU), אז השדה credits.full_name יהיה ריק.

credits.type String השדה הזה מתאר את המטרה או המקור של credits.id. סוגי הזיכויים כוללים:
  • COMMITTED_USAGE_DISCOUNT: חוזים של התחייבות לשימוש במשאבים שנרכשו בשביל Compute Engine בתמורה להנחות משמעותיות בשימוש במכונות וירטואליות.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: חוזים של התחייבות להוצאה שנרכשו בשביל שירותים, בתמורה להתחייבות שלכם לשלם סכום מינימלי על השירותים.
  • DISCOUNT: סוג הזיכוי הזה משמש לזיכויים שנצברו אחרי שהגעתם לסף ההוצאות שמוגדר בחוזה. שימו לב שבדוחות של החיוב ב-Cloud שזמינים במסוף Google Cloud , זיכוי מסוג "הנחה" מופיע בתור Spending based discounts (contractual)‎.
  • FREE_TIER: בשירותים מסוימים אפשר להשתמש במשאבים בחינם, עד למגבלות שצוינו. לשירותים האלה, מממשים את הזיכויים כדי להשתמש בתוכנית ללא תשלום.
  • PROMOTION: הזיכוי מסוג שובר פרסום כולל תקופת ניסיון בחינם ב- Google Cloud וזיכויים לקמפיינים שיווקיים, או מענקים אחרים לשימוש ב- Google Cloud. כשהאפשרות של שובר פרסום זמינה, היא נחשבת לאמצעי תשלום והמערכת מחילה אותה באופן אוטומטי כדי להקטין את החיוב הכולל.
  • RESELLER_MARGIN: אם אתם מפיצים, סוג הזיכוי הנחת מפיצים מציין את ההנחות שנצברו בתוכנית המפיצים בכל פריט שעומד בקריטריונים.
  • SUBSCRIPTION_BENEFIT: זיכויים שצברתם על ידי רכישת מינויים לטווח ארוך לשירותים בתמורה להנחות.
  • SUSTAINED_USAGE_DISCOUNT: סוג הזיכוי 'הנחה על שימוש קבוע' מייצג הנחה אוטומטית שאתם מקבלים על הפעלת משאבים ספציפיים של Compute Engine בחלק משמעותי של החיוב החודשי.
credits.name String תיאור של הזיכוי שהוחל בחשבון לחיוב ב-Cloud.
credits.amount Float סכום הזיכוי שהוחל על השימוש.
adjustment_info Struct adjustment_info מכיל שדות שמתארים את המבנה ואת הערך של התאמה לפריטי עלות שמשויכים לחשבון לחיוב ב-Cloud.

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

adjustment_info.id String אם השדה הזה מופיע, המשמעות היא שהתאמה משויכת לפריט מסוים של עלות. ‫adjustment_info.id הוא המזהה הייחודי של כל ההתאמות שמשויכות לבעיה.
adjustment_info.description String תיאור של ההתאמה והסיבה שבגללה היא בוצעה.
adjustment_info.type String

סוג ההתאמה.

הסוגים כוללים:

  • USAGE_CORRECTION: תיקון בגלל דיווח שגוי של שימוש.
  • PRICE_CORRECTION: תיקון בגלל כללי תמחור שגויים.
  • METADATA_CORRECTION: תיקון של מטא-נתונים בלי לשנות את העלות.
  • GOODWILL: זיכוי שהונפק ללקוח מטעמי מוניטין.
  • SALES_BASED_GOODWILL: זיכוי שהונפק ללקוח מטעמי מוניטין במסגרת חוזה.
  • SLA_VIOLATION: זיכוי שהונפק ללקוח בגלל הפרה של יעדים למדידת רמת השירות (SLO).
  • BALANCE_TRANSFER: התאמה לצורך העברת כספים מחשבון תשלומים אחד לאחר.
  • ACCOUNT_CLOSURE: התאמה שמאפסת את היתרה של חשבון סגור.
  • GENERAL_ADJUSTMENT: שינוי כללי בחשבון לחיוב.
adjustment_info.mode String

האופן שבו הונפקה ההתאמה.

המצבים כוללים:

  • PARTIAL_CORRECTION: התיקון מבטל חלקית את השימוש והעלות המקוריים.
  • COMPLETE_NEGATION_WITH_REMONETIZATION: התיקון מבטל לחלוטין את השימוש והעלות המקוריים, ומפיק פריטים מתוקנים עם שימוש ועלות מעודכנים.
  • COMPLETE_NEGATION: התיקון מבטל לחלוטין את השימוש והעלות המקוריים, ואין חיוב של שימוש נוסף.
  • MANUAL_ADJUSTMENT: ההתאמה של העלות והשימוש מבוצעת באופן ידני.
export_time Timestamp משתנה שמייצג את הזמן שבו בוצע העיבוד ומשויך לתוספת הנתונים של החיוב ב-Cloud. הערך של השדה הזה יגדל בכל ייצוא חדש.
בנוסף, אפשר לקרוא בהמשך על ההבדלים בין נתוני הייצוא לבין החשבוניות.
tags Struct

שדות שמתארים את התג, כמו מפתח, ערך ומרחב שמות.

tags.key String

השם המקוצר או השם המוצג של המפתח שמשויך לתג הספציפי הזה.

tags.value String

המשאבים שמצורפים אל tags.key. בכל רגע נתון ניתן לצרף רק ערך אחד לכל משאב של מפתח נתון.

tags.inherited Boolean

השדה הזה מציין אם הקישור בין התגים הוא בירושה (Tags Inherited = True) או ישיר/לא בירושה (Tags Inherited = False). בהיררכיית המשאבים תוכלו ליצור קישור בין תגים למשאב הורה.

tags.namespace String

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

cost_at_list Float

מחירי מחירון שמשויכים לכל הפריטים שחויבו בחשבון לחיוב ב-Cloud.

transaction_type String

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

  • GOOGLE = 1: שירותים שנמכרים על ידי Google Cloud.
  • THIRD_PARTY_RESELLER = 2: שירותים של צד שלישי שמופצים על ידי Google Cloud.
  • THIRD_PARTY_AGENCY = 3: שירותים של צד שלישי שנמכרים על ידי שותף, ושבהם Google Cloudפועל כסוכן.
seller_name String

השם החוקי של המוכר.

הסבר על נתוני עלות סטנדרטיים ונתוני עלות מפורטים של שימוש

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

מידע על התוויות

בנתוני העלות של תווית ספציפית נכללים נתוני שימוש רק החל מהתאריך שבו התווית נוספה למשאב. לדוגמה, אם הוספתם את התווית environment:dev למכונה וירטואלית של Compute Engine ב-15 בינואר 2024, כל ניתוח של נתוני environment:dev יכלול רק את נתוני השימוש במכונה הווירטואלית הזו החל מ-15 בינואר.

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

תוויות מערכת זמינות

תוויות מערכת הן צמדי מפתח/ערך של מטא-נתונים חשובים לגבי המשאב שיצר את השימוש. תוויות המערכת הבאות נכללות באופן אוטומטי בשימוש הרלוונטי.

system_labels.key דוגמה לערכים בשדה system_labels.value תיאור
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 ההגדרה של המכונה הווירטואלית. למידע נוסף, אפשר לקרוא את המאמר סוגי מכונות.
compute.googleapis.com/cores בשביל ‎n1-standard-4 הערך הוא 4; בשביל ‎custom-2-2048 הערך הוא 2 מספר יחידות ה-vCPU שזמינות למכונה הווירטואלית.
compute.googleapis.com/memory בשביל ‎n1-standard-4 הערך הוא 15360 (כלומר ‎15GB * 1,024MB/GB‎); בשביל ‎custom-2-2048 הערך הוא 2048 נפח הזיכרון (ב-MB) שזמין למכונה הווירטואלית.
compute.googleapis.com/is_unused_reservation ‎true; false מציין שימוש שהוזמן דרך מקומות שמורים אזוריים אבל לא היה בשימוש.
storage.googleapis.com/object_state live;‏ noncurrent;‏ soft_deleted;‏ multipart המצב של אובייקט האחסון שמחויב.

ההבדלים בין נתוני הייצוא לבין החשבוניות

מוצריGoogle Cloud מדווחים על נתוני השימוש והעלות לתהליכי חיוב ב-Cloud במרווחי זמן שונים, לכן יכול להיות שלא תראו בחיוב ב-Cloud את נתוני השימוש והעלויות מייד אחרי השימוש בשירותי Google Cloud . בדרך כלל נתוני העלויות זמינים תוך יום, אבל לפעמים הם מדוּוחים אחרי יותר מ-24 שעות.

בסוף החודש הקלנדרי, יכול להיות שדיווחים מאוחרים לא ייכללו בחשבונית של אותו חודש אלא יועברו לחשבונית של החודש הבא.

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

שדות חותמת הזמן כוללים את אלה:

  • usage_start_time
  • usage_end_time
  • export_time

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

מיסים

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

לדוגמה, לגבי עלויות שתועדו לפני 1 בספטמבר, נתוני עלות השימוש נראו דומים לדוגמה הבאה – שבה שומת המס היא 10$‎.

billing_account_id project.id cost_type cost
‎123456-ABCDEF-123456 example-project Regular 60$
‎123456-ABCDEF-123456 test-project Regular 40$
‎123456-ABCDEF-123456 [empty] Tax 10$

לגבי עלויות שתועדו אחרי 1 בספטמבר, הסכום 10$ מחולק ל-6$ ל-example-project ו-4$ ל-test-project:

billing_account_id project.id cost_type cost
‎123456-ABCDEF-123456 example-project Regular 60$
‎123456-ABCDEF-123456 test-project Regular 40$
‎123456-ABCDEF-123456 example-project Tax 6$
‎123456-ABCDEF-123456 test-project Tax 4$

שגיאות והתאמות

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

שינויים בחיוב

שינויים בחיוב מופיעים כפריטים נפרדים. אם קיבלתם שינוי בחיוב, הוא יופיע כפריט חדש כשתייצאו את נתוני החיוב ב-Cloud ל-BigQuery. נתוני ההתאמות זהים לנתונים שמופיעים בחשבונית, בתעודת הזיכוי ובתעודת החיוב. הן נמצאות במסוף Google Cloud , באזור Documents שבקטע Billing.

הסבר על התאמות ועל תעודות זיכוי וחיוב

תיקונים

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

  • cost
  • credit
  • usage.amount
  • export_time

לדוגמה, נניח שאתם צריכים להיות מחויבים ב-10$‎ על השימוש ב-SKU A ב-1 בינואר. בחשבונית של ינואר (שתונפק בתחילת פברואר) יופיע חיוב על סך 10$‎ על השימוש ב-SKU A, אבל ב-2 בפברואר, מערכת Google Cloud תיקנה את המחירים של SKU A והוזילה את עלות השימוש ל-5$‎. במצב כזה, בחשבונית של פברואר (שתונפק בתחילת מרץ) יופיעו שני פריטים נוספים:

  • ‫‎-10$ על השימוש ב-1 בינואר (ביטול החיוב המקורי)
  • ‫5$ על השימוש ב-1 בינואר (סכום החיוב המתוקן)

כשמייצאים את נתוני החיוב, העמודה adjustment_info מופיעה עם הפריטים החדשים. החשבונית המקורית מינואר, שבה הופיע החיוב העודף, לא תתוקן. כדי לבדוק שהחיובים נכונים תוכלו לייצא את נתוני החיוב, להציג את העלויות לפי usage_start_time ולקבץ אותן לפי Day. בתצוגות האלה רואים במצטבר את כל התיקונים ועלויות השימוש שחויבו באיחור ולא צריך לחשוש שהנתונים יהיו שגויים בגלל שגיאות זמניות.

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

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

SELECT
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
      FROM   UNNEST(credits) c), 0))
    AS total
FROM `project.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE
  invoice.month = '202311' AND
  DATE(TIMESTAMP_TRUNC(usage_start_time, Day, 'US/Pacific')) < '2023-11-01';

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

מידע על קרדיטים שיווקים בחוזים עם מחירים בהתאמה אישית

אם יש לכם חוזה עם מחירים בהתאמה אישית, יכול להיות שבמסגרת החוזה תקבלו קרדיטים שיווקיים לשימוש ב- Google Cloud . לדוגמה, יכול להיות שתקבלו 1,000$‎ לשימוש במשאבי Compute Engine. בדרך כלל הקרדיטים השיווקיים נחשבים כאמצעי תשלום לכל דבר. כשזה אפשרי, הקרדיטים השיווקיים מנוכים אוטומטית מהסכום לחיוב.

תנאי החוזה קובעים אם הקרדיטים השיווקיים יחולו על העלויות לפי מחיר המחירון של המק"ט או לפי המחיר נטו (אחרי ההנחה).

אם הקרדיטים השיווקיים חלים על העלויות שמחושבות לפי מחיר המחירון, בדוח Cost table יופיע שירות בשם Invoice עם מק"ט בשם Contract billing adjustment. המק"ט הזה משמש להתאמה כדי שהקרדיטים יחולו על העלויות לפי מחיר המחירון. כדי לראות את עלויות השימוש שלהן בוצעה ההתאמה, אפשר לשלוח שאילתה להצגת העמודות system.labels. המפתח שמופיע בשדה system.labels.key הוא cloud-invoice.googleapis.com/sku_id, והערך בשדה system.labels.value מכיל את מזהה המק"ט שעליו חלים הקרדיט וההתאמה.

מידע על תגים

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

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

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

התגים הזמינים

בייצוא של נתוני עלות סטנדרטיים ונתוני עלות מפורטים למשאבים, לפרויקטים, לתיקיות ולארגונים, השדות הבאים כוללים נתוני תגים: Tags Key, ‏Tags Value‏, Tags Inherited ו-Tags Namespace.

כשמייצאים את נתוני החיוב ב-Cloud, אפשר להשתמש בתגים ברמת המשאב למשאבים הבאים:

  • אשכולות, מכונות וגיבויים של AlloyDB ל-PostgreSQL
  • מאגרי Artifact Registry
  • שירותים ומשימות ב-Cloud Run
  • קטגוריות של Cloud Storage
  • מכונות של Compute Engine
  • מכונות של Memorystore for Redis
  • סודות ב-Secret Manager
  • מכונות Spanner

המגבלות על תגים

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

דוגמאות לשאילתות עם נתוני עלות סטנדרטיים של שימוש

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

ציון שם הטבלה לשימוש בשאילתות

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

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

בדוגמאות לשאילתות שמופיעות בקטע הזה נעשה שימוש בערך הבא עבור Table name: project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX

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

הצגת העלויות הכוללות בחשבונית

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

  • השדה total מסכם באופן ישיר את ערכי העלויות והזיכויים בנקודה צפה (floating point). כתוצאה מכך עלולות להיות שגיאות של עיגול הנקודה הצפה.
  • השדה total_exact ממיר את ערכי העלויות והזיכויים לערכי מיקרו לפני חישוב הסיכום, ואז מבצע המרה בחזרה לדולר אחרי החישוב כדי להימנע משגיאה של עיגול הנקודה הצפה.

דוגמה 1: סיכום של כל העלויות, לכל חשבונית

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

SQL סטנדרטי

SELECT
  invoice.month,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1
ORDER BY 1 ASC
;

לדוגמה, התוצאה של השאילתה הקודמת עשויה להיות:

Row month total total_exact
1 201901 ‎1005.004832999999984$ 1005.00$‎
2 201902 992.3101739999999717$‎ 992.31$‎
3 201903 1220.761089999999642$‎ 1220.76$‎

דוגמה 2: הצגת פירוט לפי סוג העלות, לכל חודש חיוב בחשבונית

השאילתה הזו מציגה את הסכומים הכוללים לכל ערך בשדה cost_type בכל חודש. סוגי העלויות כוללים עלויות קבועות, מיסים, התאמות ושגיאות עיגול.

SQL סטנדרטי

SELECT
  invoice.month,
  cost_type,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM   UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1, 2
ORDER BY 1 ASC, 2 ASC
;

לדוגמה, התוצאה של השאילתה הקודמת עשויה להיות:

Row month cost_type total total_exact
1 201901 regular 1000.501209987994782$‎ 1000.50$‎
2 201901 rounding_error $‎-0.500489920049387 $0.50–
3 201901 tax 10.000329958477891$‎ 10.00$‎
4 201901 adjustment ‎-5.002572999387045$ ‎-5.00$

דוגמאות לשאילתות עם תוויות

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

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

  • יש לכם 2 אפליקציות (grapefruit-squeezer ו-chocolate-masher).
  • לכל אפליקציה יש 2 סביבות (dev ו-prod).
  • בסביבת dev יש מכונה אחת קטנה לכל אפליקציה.
  • בסביבת prod יש מכונה אחת קטנה באמריקה ומכונה אחת קטנה באסיה.
  • כל מכונה מסומנת בתווית שמכילה את האפליקציה והסביבה.
  • יש לכם מכונה אחת בלי תוויות שמשמשת לביצוע ניסויים.

החיוב הכולל הוא 24$‎ לפי הפירוט הבא:

Instance Labels Total Cost
Small instance with 1 vCPU running in Americas אין 4$‎
Small instance with 1 vCPU running in Americas app: chocolate-masher
environment: dev
2$‎
Small instance with 1 vCPU running in Americas app: grapefruit-squeezer
environment: dev
3$‎
Small instance with 1 vCPU running in Americas app: chocolate-masher
environment: prod
3.25$‎
Small instance with 1 vCPU running in Asia app: chocolate-masher
environment: prod
3.75$‎
Small instance with 1 vCPU running in Americas app: grapefruit-squeezer
environment: prod
3.50$‎
Small instance with 1 vCPU running in Asia app: grapefruit-squeezer
environment: prod
4.50$‎

שליחת שאילתה לגבי כל שורה ללא קיבוץ

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

SQL סטנדרטי

SELECT
  sku.description,
  TO_JSON_STRING(labels) as labels,
 cost as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`;

SQL מדור קודם

TO_JSON_STRING not supported.
Row sku.description labels cost
1 Small instance with 1 vCPU running in Americas [] 4$‎
2 Small instance with 1 vCPU running in Americas [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}]‎ 2$‎
3 Small instance with 1 vCPU running in Americas [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}]‎ 3$‎
4 Small instance with 1 vCPU running in Americas [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}]‎ 3.25$‎
5 Small instance with 1 vCPU running in Asia [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}]‎ 3.75$‎
6 Small instance with 1 vCPU running in Americas [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}]‎ 3.50$‎
7 Small instance with 1 vCPU running in Asia [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}]‎ 4.50$‎
TOTAL 24$‎

קיבוץ לפי מפת תוויות כמחרוזת JSON

זוהי דרך קלה ומהירה להציג פירוט עלויות לפי כל שילוב של תוויות.

SQL סטנדרטי

SELECT
  TO_JSON_STRING(labels) as labels,
  sum(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY labels;

SQL מדור קודם

TO_JSON_STRING not supported.
Row labels cost
1 [] 4$‎
2 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}]‎ 2$‎
3 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}]‎ 3$‎
4 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}]‎ 7$‎
5 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}]‎ 8$‎
TOTAL 24$‎

קיבוץ לפי ערך תוויות של מפתח ספציפי

פירוט העלויות לפי ערכים של מפתח תווית ספציפי הוא תרחיש לדוגמה נפוץ. כשמשתמשים בשאילתת איחוד שמאלית (LEFT JOIN) ומעבירים את מסנן המפתח בתור התנאי של שאילתת האיחוד (JOIN) (במקום WHERE), אתם כוללים עלויות שלא מכילות את המפתח הזה וכך יכולים לראות את מלוא העלויות שלכם.

SQL סטנדרטי

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
  ON labels.key = "environment"
GROUP BY environment;

SQL מדור קודם

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
WHERE labels.key = "environment" OR labels.key IS NULL
GROUP BY environment;
Row environment cost
1 prod 15$‎
2 dev 5$‎
3 null 4$‎
TOTAL 24$‎

קיבוץ לפי צמדי מפתח/ערך

חשוב להיות זהירים כשמפרשים או מייצאים את התוצאות האלה. בכל שורה מופיע הסכום הנכון ללא כפילויות בספירה, אבל לא כדאי לשלב את השורות עם שורות אחרות (אלא אם המַפְתח זהה, או אם אתם בטוחים שהמפתחות אף פעם לא מוגדרים לאותו משאב).

SQL סטנדרטי

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
GROUP BY key, value;

SQL מדור קודם

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost)
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
GROUP BY key, value;
Row key value cost
1 null null 4$‎
2 app chocolate-masher 9$‎
3 app grapefruit-squeezer 11$‎
4 environment dev 5$‎
5 environment prod 15$‎
TOTAL 44$‎

שימו לב שהסכום הכולל גבוה מסכום החיוב.

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

בשאילתות הבאות מופיעות דרכים שונות לראות את החיובים והזיכויים שמשויכים להנחות תמורת התחייבות לשימוש (CUD) בנתוני החיוב שיוצאו. במאמר שיוך (Attribution) של הנחות תמורת התחייבות לשימוש מוסבר איך העמלות והזיכויים של ההתחייבויות משויכים לפרויקטים ולחשבון לחיוב ב-Cloud.

צפייה בעמלות על התחייבות לשימוש

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

SQL סטנדרטי

SELECT
    invoice.month AS invoice_month,
    SUM(cost) as commitment_fees
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE LOWER(sku.description) LIKE "commitment%"
GROUP BY 1

צפייה בזיכויים על התחייבות לשימוש

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

SQL סטנדרטי

SELECT
    invoice.month AS invoice_month,
    SUM(credits.amount) as CUD_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(credits) AS credits
WHERE LOWER(credits.name) LIKE "committed use discount%"
GROUP BY 1

שימוש במסננים של היררכיית המשאבים לבדיקת ישות האב

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

דוגמה 1: סינון לפי שם המשאב

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

String method

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%resource_name\":\"folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

UNNEST method

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.resource_name = "folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

דוגמה 2: סינון לפי השם המוצג

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

String matching method

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%display_name\":\"MyFolderName%"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

UNNEST method

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.display_name = "MyFolderName"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

דוגמאות לשאילתות עם תגים

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

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

השאילתה הבאה היא דוגמה להחזרת העלויות לפי חודש החשבונית עם התג cost_center.

SELECT
  invoice.month AS invoice_month,
  tag.value AS cost_center,
  ROUND((SUM(CAST(cost AS NUMERIC))
    + SUM(IFNULL((SELECT SUM (CAST(c.amount AS NUMERIC))
                  FROM UNNEST(credits) AS c), 0))), 2)
    AS net_cost
FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX`, UNNEST(tags) AS tag
WHERE tag.key = "cost_center" AND tag.namespace = "821092389413"
GROUP BY invoice.month, tag.value
ORDER BY invoice.month, tag.value;

לדוגמה, התוצאה של השאילתה הקודמת עשויה להיות:

Row invoice_month cost_center net_cost
1 202208 android_mobile_apps 9.93
2 202208 ios_mobile_apps 9.93
3 202209 android_mobile_apps 25.42
4 202209 ios_mobile_apps 25.4
5 202209 personalization 16.08

צפייה בעלויות של משאבים ללא תגים

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

SELECT
 invoice.month AS invoice_month,
 ROUND((SUM(CAST(cost AS NUMERIC))
   + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC))
                 FROM UNNEST(credits) AS c), 0))), 2)
   AS net_cost
FROM
 `project-ID.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE "color" NOT IN (SELECT key FROM UNNEST(tags))
GROUP BY invoice_month
ORDER BY invoice_month;

לדוגמה, התוצאה של השאילתה הקודמת עשויה להיות:

Row invoice_month net_cost
1 202202 0
2 202203 16.81
3 202204 54.09
4 202205 55.82
5 202206 54.09
6 202207 55.83
7 202208 31.49

דוגמאות נוספות לשאילתות

שאילתות לפי פרויקט על עלויות וזיכויים בחודש חשבונית ספציפי

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

SQL סטנדרטי

SELECT
  project.name,
  TO_JSON_STRING(project.labels) as project_labels,
  sum(cost) as total_cost,
  SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) as total_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE invoice.month = "202006"
GROUP BY 1, 2
ORDER BY 1;

SQL מדור קודם

TO_JSON_STRING not supported.
Row name project_labels total_cost total_credits
1 CTG - Dev [{"key":"ctg_p_env","value":"dev"}]‎ 79.140979 ‎-4.763796
2 CTG - Prod [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"eng"}]‎ 32.466272 ‎-3.073356
3 CTG - Sandbox [{"key":"ctg_p_env","value":"dev"}]‎ 0 0
4 CTG - Storage [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"data"}]‎ 7.645793 ‎-0.003761

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