תיעוד הבקשות והתשובות של ה-API

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

Fleet Engine שולח את היומנים כיומני פלטפורמה ל-Cloud Logging, כדי שתוכלו לגשת אליהם באמצעות כלי Cloud Logging.

אילו יומנים של Fleet Engine

Fleet Engine שולח כמה פיסות מידע ל-Cloud Logging, כמו:

  • כל הבקשות והתגובות של REST ו-gRPC מאומתים
  • תגובות לשגיאות
  • בקשות, תשובות והודעות שגיאה מקריאות שהופעלו על ידי Driver SDK אל Fleet Engine.
  • פיצול יומנים לסוגי היומנים הנתמכים:

בחומר העזר בנושא Logging תוכלו לקרוא הסבר על הסכימה וההודעות הזמינות ביומן.

שימוש בקטגוריות יומן מוגבלות ובקטגוריות יומן כברירת מחדל כדי לעמוד בדרישות מדיניות שמירת הנתונים

השימוש בקטגוריות 'מוגבל' ו'ברירת מחדל' מבטיח תמונה ברורה של השימוש בנתונים המוגבלים והלא מוגבל. בהתאם לתנאים הספציפיים לשירות Mobility, חלק מנתוני היומנים ש-Fleet Engine שולח לפלטפורמה של מפות Google עשויים להישמר רק לפרק זמן מוגבל. כדי להבטיח שהנתונים המוגבלים יישמרו רק למשך הזמן המותר, נתונים כאלה צריכים להיות מסומנים בתווית TOS_LIMITED (כבר צריך לעשות זאת ב-Fleet Engine) ונרשמים לקטגוריה ייעודית שנקראת 'מוגבל'.

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

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

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

אפשר לקבל תצוגה מלאה על ידי מיזוג בין יומנים מוגבלים לבין יומנים לא מוגבלים

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

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

הפעלת Cloud Logging

Fleet Engine מפעיל באופן אוטומטי יומני ברירת מחדל ללקוחות Mobility חדשים, החל מפרויקטים שנוצרו ב-10 בפברואר 2022. כדי לוודא שהרישום ביומן מופעל באמצעות השאילתה הבאה ב-Logs Explorer :

resource.type:"fleetengine.googleapis.com"

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

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

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

הכנת הפרויקט לקבלת יומנים לשימוש מוגבל

  1. במסוף Google Cloud, פותחים את הדף Log Router.
  2. מעדכנים את הקטגוריה _Default רישום ביומן כדי להחריג יומנים לשימוש מוגבל.
    1. בוחרים בקטגוריה _Default לרישום ביומן ואז בוחרים באפשרות Edit sink.
    2. בקטע 'בחירת יומנים לסינון מ-sink', לוחצים על הלחצן 'הוספת החרגה':
      1. שם מסנן ההחרגה: ExcludeRestrictedLogs
      2. מסנן החרגה: labels.restriction="TOS_restrictionED"
    3. לוחצים על 'עדכון sink'.
  3. מעדכנים את קטגוריית הרישום ביומן המוגבל כדי לאחסן את היומנים לשימוש מוגבל.
    1. בדף Log Router, בוחרים באפשרות Create sink.
    2. יוצרים sink עם ההגדרות הבאות:
      1. פרטי Sink:
        1. שם: RestrictedLogs
        2. תיאור: יומנים לשימוש מוגבל של Fleet Engine
      2. יעד ה-Sink:
        1. שירות Sink: קטגוריית רישום ביומן
        2. בחירת קטגוריית יומן: יצירת קטגוריית יומן חדשה
          1. שם: מוגבל
          2. תיאור: מכילה יומנים לשימוש מוגבל של Fleet Engine
        3. תקופת שמירה: 30 ימים
          1. הערה: תקופת השמירה לא יכולה לחרוג מ-30 ימים.
      3. יומנים להכללה ב-sink: משאירים ריק
      4. יומנים לסינון מה-sink: לוחצים על 'הוספת החרגה'
        1. שם מסנן ההחרגה: ExcludeNonRestrictedLogs
        2. מסנן החרגה: NOT (resource.type = "fleetengine.googleapis.com/Fleet" OR resource.type = "fleetengine.googleapis.com/DeliveryFleet") NOT (labels.restriction = "TOS_restrictionED")
      5. לוחצים על 'יצירת sink'

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

לאחר מכן צריך לפנות לתמיכה ולציין את הפרטים הבאים בבקשת התמיכה:

  1. מזהי פרויקטים להפעלה:
  2. כתובת האימייל של האדם שמבקש את השינוי:
    1. הערה: לאדם הזה צריכה להיות גישת עריכה לפרויקטים ב-Google Cloud שברשימה.
  3. הפעלת תוכן לשימוש מוגבל של מפות Google ב-Cloud Logging מבטאת את הסכמתך לציית לתנאים של הפלטפורמה של מפות Google ולתנאים הספציפיים לשירות ניידות, כולל דרישות לגבי שמירה במטמון ושימוש מותר בהקשר של תוכן במפות Google. כן / לא

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

יומני Cloud מפוצלים

Cloud Logging מגביל את הגודל של יומנים נכנסים ל-256KB. השירות מסיר יומנים מעבר לסף הזה. כדי לוודא ש-Cloud Logging ישמור יומנים גדולים, Fleet Engine יכול לפצל אותם לסדרה של יומנים מתחת לסף של 256KB. ליומנים כאלה יש קידומת insertId משותפת, כדי לציין את הסדר שבו השירות פוצל את היומן הקטן מהיומן המקורי. לאחר מכן אפשר להצטרף אליהם מחדש בהתאם ל-insertId שלהם.

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

המבנה של יומני הביקורת המפוצלים זהה למבנה שמצוין במדריך לרשומות יומן הביקורת המפוצלות של יומני הביקורת ב-Cloud. ההבדל העיקרי בין יומנים מפוצלים ב-Fleet Logging הוא שהפיצול מתבצע בשדה jsonPayload במקום בשדה protoPayload. ניתן לעיין בפיצול לדוגמה שמוצג בקטע הבא.

סוגי היומנים הנתמכים

Fleet Engine תומך בפיצול יומנים רק לסוגי היומנים הבאים שגודל היומנים שלהם חורג מ-256KB:

דוגמה למבנה של יומן מפוצל

// First Split Log
{
  // insertId appended with an increasing number
  "insertId": "ABCDE-1",
  "jsonPayload": {
    "response": {
      "matches": [
        {
          // ...
          "vehicle": {
            "name": "providers/test-123/vehicles/test-vehicle-0",
            // ...
          }
        },
        {
          // ...
          "vehicle": {
            "name": "providers/test-123/vehicles/test-vehicle-1",
            // ...
            }
        }
      ]
    },
    "@type": "type.googleapis.com/maps.fleetengine.v1.SearchVehiclesLog",
    "request": {
      "searchTripTypes": [
        "EXCLUSIVE_TRIP"
      ],
      "pickupPoint": {},
      "count": 50,
      "pickupRadiusMeters": 400,
      "minimumCapacity": 1,
      "matchOrderBy": "PICKUP_POINT_ETA",
      "vehicleTypes": [
        {
          "vehicleCategory": "TAXI"
        }
      ]
    }
  },
  "resource": {
    "type": "fleetengine.googleapis.com/Fleet",
    "labels": {
      "resource_container": "projects/test-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-02-06T22:48:50.620713Z",
  "logName": "projects/test-123/logs/fleetengine.googleapis.com%2Fsearch_vehicles",
  "receiveTimestamp": "2024-02-06T22:48:52.006308491Z",
  "split": {
    // UID for this logical log entry (same across splits)
    "uid": "ABCDE",
    "totalSplits": 2
  }
}
// Second Split Log
{
  // insertId appended with an increasing number
  "insertId": "ABCDE-2",
  "jsonPayload": {
    "response": {
      "matches": [
        {},{} // Previous matches appear as empty objects
        {
          // ...
          "vehicle": {
            "name": "providers/test-123/vehicles/test-vehicle-2",
            // ...
          },
        }
      ]
    },
    "@type": "type.googleapis.com/maps.fleetengine.v1.SearchVehiclesLog",
    "request": {
      "searchTripTypes": [
        "EXCLUSIVE_TRIP"
      ],
      "pickupPoint": {},
      "count": 50,
      "pickupRadiusMeters": 400,
      "minimumCapacity": 1,
      "matchOrderBy": "PICKUP_POINT_ETA",
      "vehicleTypes": [
        {
          "vehicleCategory": "TAXI"
        }
      ]
    }
  },
  "resource": {
    "type": "fleetengine.googleapis.com/Fleet",
    "labels": {
      "resource_container": "projects/test-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-02-06T22:48:50.620713Z",
  "logName": "projects/test-123/logs/fleetengine.googleapis.com%2Fsearch_vehicles",
  "receiveTimestamp": "2024-02-06T22:48:52.006308491Z",
  "split": {
    // UID for this logical log entry (same across splits)
    "uid": "ABCDE",
    // Subsequent logs after the original will have a zero based index
    "index": 1,
    "totalSplits": 2
  }
}

גישה ליומנים

יומני Cloud בנויים בפורמט LogEntry. Fleet Engine שולח יומנים ל-Cloud Logging כאשר resource.type של LogEntry מוגדר ל-fleetengine.googleapis.com. תוכלו להשתמש ב-Logs Explorer כדי לכתוב שאילתות לצפייה ביומנים.

לדוגמה, כדי להציג את כל ה-RPCs ל-Fleet Engine שהחזירו שגיאה, משתמשים בשאילתה הבאה של Logs Explorer:

resource.type:"fleetengine.googleapis.com"
severity=ERROR

כדי לצפות ביומנים של קריאות RPC שהתקבלו ל-method UpdateVehicle עבור הפרויקט example-project-id, משתמשים בשאילתה הבאה ב-Logs Explorer:

logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle"

בדוגמה הבאה מוצג LogEntry של היומן UpdateVehicle. בקשת ה-RPC והתגובה ממוקמות בתוך השדה jsonPayload:

    {
      "insertId": "c6b85fbc927343fc8a85338c57a65733",
      "jsonPayload": {
        "request": {
          "header": {4},
          "updateMask": "deviceSettings",
          "vehicleId": "uniqueVehicleId",
          "vehicle": {2}
        },
        "response": {
          "name": "providers/example-project-id/vehicles/uniqueVehicleId",
          "availableCapacity": 2,
          "state": "VEHICLE_STATE_OFFLINE",
          "maximumCapacity": 2,
          "vehicleType": {1},
          "supportedTrips": {1}
        },
        "@type": "type.googleapis.com/maps.fleetengine.v1.UpdateVehicleLog"
      },
      "resource": {
        "type": "fleetengine.googleapis.com/Fleet",
        "labels": {2}
      },
      "timestamp": "2021-01-01T00:00:00.000000000Z",
      "labels": {2},
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle",
      "receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
    }

אם מוחזרת שגיאת RPC, השדה responseVehicle מתבטל והשדה errorResponse מוגדר ויאוכלס ב-jsonPayload:

    {
      "insertId": "c6b85fbc927343fc8a85338c57a65733",
      "jsonPayload": {
        "errorResponse": {
          "httpStatusCode": 404,
          "code": "NOT_FOUND",
          "message": "No entity with id invalidVehicleId exists"
        },
        "@type": "type.googleapis.com/maps.fleetengine.v1.UpdateVehicleLog",
        "request": {
          "vehicle": {3},
          "updateMask": "deviceSettings",
          "vehicleId": "fakeVehicleId",
          "header": {4}
        }
      },
      "resource": {
        "type": "fleetengine.googleapis.com/Fleet",
        "labels": {2}
      },
      "timestamp": "2021-01-01T00:00:00.000000000Z",
      "severity": "ERROR",
      "labels": {2}
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle",
      "receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
    }

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

ניהול עלויות הרישום ביומן

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

הפחתת השימוש ברישום ביומן

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

ייצוא או ניתוב של יומנים

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

כדאי להשבית את הטמעת הנתונים של היומנים כדי להימנע מחיובים

עדיף לצמצם את השימוש ברישום ביומן או ייצוא או ניתוב של יומנים על פני השבתת הטמעת הנתונים של היומנים. אבל אם אתם לא מתכוונים להשתמש ביומנים של Fleet Engine, תוכלו להשבית את הטמעת הנתונים כדי להימנע מחיובים פוטנציאליים ב-Cloud Logging. כברירת מחדל, יומניFleet Engine מנותבים לקטגוריה _Default יומן.

הפקודה הבאה מעדכנת את קטגוריית הרישום ביומן _Default כך שלא תטמיע את יומני ה-Fleet.

gcloud logging sinks update _Default \
--log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") \
AND NOT LOG_ID("externalaudit.googleapis.com/activity") \
AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") \
AND NOT LOG_ID("externalaudit.googleapis.com/system_event") \
AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") \
AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency") \
AND NOT resource.type:"fleetengine.googleapis.com"''

למידע נוסף, קראו את המאמר החרגות של Cloud Logging ו-החרגת יומנים. ייצוא של Cloud Logging וייצוא יומנים

שימוש ב-Logs Explorer

כדי להשתמש ב-Logs Explorer, פותחים את Cloud Console, בוחרים באפשרות Logging ואז Logs Explorer. כדי לראות רשימה של כל יומני Fleet Engine זמינים, לוחצים על סוג המשאב Fleet Engine. חלק מיומני ה-API מתויגים עם מזהה נסיעה ומזהה רכב. אפשר להשתמש בתוויות האלה כדי לבחור יומנים לנסיעות או לרכבים שמעניינים אתכם.

תוויות ביומן

סינון יומנים לפי מזהה רכב

ב-Logs Explorer, אפשר להשתמש בשאילתה הבאה כדי להגביל את היומנים לרכב ספציפי:

    resource.type="fleetengine.googleapis.com/Fleet"
    labels.vehicle_id="vehicle_id"

מסנן רכב

סינון יומנים לפי מזהה נסיעה

ב-Logs Explorer, אפשר להשתמש בשאילתה הבאה כדי להגביל את היומנים לנסיעה ספציפית:

    resource.type="fleetengine.googleapis.com/Fleet"
    labels.trip_id=~"trip_id"

סינון יומנים של כלי רכב בתקופת זמן ספציפית

ב-Logs Explorer, אפשר להשתמש בשאילתה הבאה כדי להגביל את היומנים של כלי רכב בתקופת זמן ספציפית:

    resource.type="fleetengine.googleapis.com/Fleet"
    labels.vehicle_id="vehicle_id"
    timestamp>="2020-09-24T20:00:00.000Z"
    timestamp<"2020-09-24T21:00:00.000Z"

דוגמה למדדים המבוססים על יומנים

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

  1. במסוף Cloud, בוחרים באפשרות Logging ואז ב-Logs Explorer כדי לפתוח את Logs Explorer. לאחר מכן מפעילים את המסנן הבא:

    resource.type="audited_resource"
    resource.labels.method="maps.fleetengine.v1.TripService.ReportBillableTrip"
    
  2. בחלונית Query Results (תוצאות שאילתה), לוחצים על התפריט הנפתח Actions (פעולות) ובוחרים באפשרות Create Metric.

    יצירת מדד

  3. בתיבת הדו-שיח 'עורך המדדים':

    • מציינים את שם המדד (לדוגמה, billable_trips).
    • מציינים תיאור של המדד (לדוגמה, The number of Billable Trips).
    • ניתן להשאיר את האפשרות יחידות ריקה. _ משאירים את האפשרות Type (סוג) בתור Counter.

    לאחר מכן לוחצים על הלחצן יצירת מדד.

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

  5. לוחצים על התפריט הנפתח האנכי משמאל למדד החדש, ואז בוחרים באפשרות View in Metrics Explorer.

    הצגת המדד

  6. בחלונית שמשמאל בקטע Build Your Query, מגדירים את Resource Type כ-Fleet Engine Engine ומחפשים את המדד billingable_trips.

    מדד חיפוש

    בתרשים שבצד ימין מוצג שיעור השיחות לחיוב_trips.

שימוש ב-BigQuery

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

ניתוב יומנים ל-BigQuery

כדי לנצל את היתרונות של BigQuery, צריך לנתב את היומנים למאגר נתונים של BigQuery, באופן הבא:

  1. במסוף Cloud, בוחרים באפשרות Logging ואז באפשרות Logs Explorer.

  2. יצירת מסנן לבידוד יומנים של Fleet Engine. ב-Logs Field Explorer, בוחרים את סוג המשאב Fleetengine.googleapis.com/Fleet.

    יצירת
מסנן

  3. בחלונית Query Results (תוצאות שאילתה), לוחצים על התפריט הנפתח Actions ובוחרים באפשרות Create Sink.

    יצירת
sink

  4. בתיבת הדו-שיח Select sink Service, בוחרים את BigQuery dataset.

    בוחרים
sink

  5. בתיבת הדו-שיח 'עריכת Sink', מציינים את האפשרויות הבאות:

    • מציינים שם sink (לדוגמה, FleetEngineLogsSink).
    • משאירים את שירות Sink בתור BigQuery.
    • בוחרים באפשרות שימוש בטבלאות מחולקות למחיצות. זה ישפר את הביצועים של השאילתות.
    • בקטע Sink Destination, בוחרים באפשרות Create New BigQuery Dataset ואז מציינים שם של מערך נתונים ב-BigQuery (לדוגמה, FleetEngineLogs).
    • לוחצים על הלחצן Create Sink.

    עריכה
    של sink

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

קטע ב-BigQuery

מספר טבלאות במערך הנתונים FleetEngineLogs יאוכלסו באופן אוטומטי, אחת לכל סוג יומן:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

שמות הטבלאות מבוססים על הדפוס הבא:

project_id.data_set.log_name

לדוגמה, אם הפרויקט נקרא test_project ושם מערך הנתונים הוא FleetEngineLogs, טבלת CreateTrip כוללת את השם הבא:

test_project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

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

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

נסיעות שנוצרו בשעה

השאילתה הבאה סופרת את מספר יומני CreateTrips ומקבצת אותם לפי שעה.

    SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
           count(*) as num_trips_created
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_trip`
    GROUP BY hour
    ORDER by hour

מספר עצירות לרכב לשעה

השאילתה הבאה יוצרת את מספר העצירות שבהן הרכב הציג את הרכב, בהתפלגות לפי שעה.

לדוגמה, השאילתה הזו יכולה להראות לנו שבשעה האחרונה:

  • רכב א' הושלמו 10 עצירות בשעה 12 ו-8 עצירות בשעה 13.
  • רכב ב' השלים 5 עצירות בשעה 11 ו-7 עצירות בשעה 12.
  • רכב C הושלמו 12 עצירות בשעה 13 ו-9 עצירות בשעה 14.

    SELECT
      jsonpayload_v1_updatevehiclelog.request.vehicleid AS vehicle,
      TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
      COUNT(*) AS num_stops
    FROM
      `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update__vehicle`
    WHERE
    ARRAY_LENGTH(jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments) > 0
    AND jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments[
    OFFSET
    (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
    GROUP BY
    1,
    2
    ORDER BY
    2
    

מרכזי השליטה של Data Studio

אפשר לשלב את BigQuery עם כלים של בינה עסקית (BI), וליצור מרכזי בקרה לניתוח נתונים עסקיים.

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

  1. משיקים מרכז בקרה חדש של Datastudio ובוחרים ב-BigQuery בתור חיבור הנתונים.

    חיבור נתונים

  2. בוחרים באפשרות Custom Query (שאילתה בהתאמה אישית) ובוחרים את הפרויקט ב-Cloud שעליו רוצים לחייב.

    בחירת פרויקט

  3. צריך להזין את השאילתה הבאה בתיבת השאילתה.

    כאן מזינים
שאילתה

    SELECT
     timestamp,
     labels.vehicle_id,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.latitude AS lat,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.longitude AS lng
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_vehicle`
    
  4. בוחרים באפשרות 'סוג התרשים' כמפת בועות ולאחר מכן בוחרים את שדה המיקום.

    סוג
התרשים

  5. בוחרים באפשרות Create Field (יצירת שדה).

    יצירת שדה

  6. נותנים שם לשדה ומוסיפים את הנוסחה הבאה: CONCAT(lat, ",", lng).

    לאחר מכן מגדירים את סוג הפורמט גיאו->קו רוחב, קו אורך.

    סוג ההגדרה

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

    הוספת
פקדים

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

    טווח
תאריכים

  9. אפשר להוסיף פקדים נוספים לרשימה נפתחת עבורvehicle_id.

    רשימה נפתחת

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