指標設定產生器

指標設定產生器 (MCG) 是一項服務,可簡化 SDV 遙測設定的撰寫作業。MCG 會將使用者可讀取的 JSON 設定轉換為車輛遙測活動所需的二進位 MetricsConfiguration 通訊協定緩衝區 (protobuf) 檔案格式。

MCG 是一種網路服務,您可以使用標準 HTTP 要求與其互動。這種以 API 為基礎的方法可讓您使用 curl 等指令列工具手動產生及偵錯,或將 MCG 整合為後端,用於更精密的工具,例如用於建構設定的圖形介面。

功能

車輛上的遙測服務需要 MetricsConfiguration 二進位 protobuf 訊息。雖然這個訊息可以文字原型格式表示,以利偵錯,但直接撰寫這種格式需要深入瞭解其低階結構,而且過程可能很繁瑣,容易出錯。MCG 會將設定編寫作業轉移至簡單易用的 JSON 格式,簡化這個程序。

MCG 包含下列功能:

  • 以 JSON 為基礎的設定:指標設定 (包括資料來源、處理邏輯和報表規則) 可以使用者可解讀的 JSON 格式定義,MCG 會將這些設定編譯為必要的二進位 protobuf 格式。
  • 內建驗證:生成程序會根據信號定義和結構定義規則自動驗證設定,以便在部署前偵測錯誤。
  • 自動產生訊息類型:匯總工具和報表會產生結果,這些結果必須使用最終二進位設定中的 protobuf 訊息描述元定義。MCG 會根據輸入信號類型和匯總邏輯,推斷這些結果的結構,並自動產生必要的訊息描述元。您不必手動定義中繼或報表專用資料結構的結構定義。
  • 更輕鬆地撰寫運算式:自訂使用者可自然閱讀的文法,用於定義運算式,避免手動建構運算式樹狀結構。

工作流程

使用 MCG 生成指標設定時,主要有兩個階段:一次性上傳要使用的每個車輛訊號目錄版本,然後撰寫及生成個別指標設定。

  1. 上傳訊號定義:每個車輛訊號目錄版本只需要執行這項步驟一次。如要啟用驗證和型別推論功能,MCG 必須有權存取您要在設定中參照的車輛訊號定義。這些定義應已以 protobuf 檔案的形式存在於專案中,做為 VSIDL 目錄的一部分 (您也可以使用範例定義進行實驗)。如要讓 MCG 能夠使用這些訊號,請將訊號封裝至車輛訊號目錄,然後使用 API 上傳:

  2. 撰寫設定:將目錄版本上傳至 MCG 後,您可以撰寫任意數量的指標設定來參照該版本。在 JSON 設定中,您可以定義要使用的資料來源、如何對該資料執行計算或匯總,以及決定何時產生結果的觸發條件。

  3. 產生:將 JSON 設定提交至 MCG API。API 會驗證設定,並編譯為 MetricsConfiguration 格式。您可以要求以二進位 protobuf (application/x-protobuf) 格式用於車輛,或以 textproto (text/x-protobuf) 格式用於檢查或偵錯。

如需所有端點、要求和回應格式,以及使用範例的完整詳細資料,請參閱 MCG API 參考資料

部署作業

MCG 是雲端原生服務,可部署至雲端環境 (例如 Google Cloud Run),為團隊提供集中式設定產生和驗證點。如需部署說明,請參閱「部署至 Google Cloud」。

如要進行本機開發和測試,MCG 也可以在開發人員電腦上以獨立服務的形式執行。如需設定說明,請參閱「在本機執行」。