Generator konfiguracji danych

Generator konfiguracji wskaźników (MCG) to usługa, która upraszcza tworzenie konfiguracji telemetrii SDV. MCG przekształca konfiguracje JSON w formacie zrozumiałym dla człowieka w binarny format pliku bufora protokołu MetricsConfiguration (protobuf) wymagany przez kampanie telemetryczne w pojazdach.

MCG to usługa internetowa, z którą wchodzisz w interakcję za pomocą standardowych żądań HTTP. To podejście oparte na interfejsie API umożliwia korzystanie z narzędzi wiersza poleceń, takich jak curl, do ręcznego generowania i debugowania lub integrowanie MCG jako backendu bardziej zaawansowanych narzędzi, takich jak interfejs graficzny do tworzenia konfiguracji.

Funkcje

Usługa telemetrii w pojeździe wymaga binarnej wiadomości MetricsConfiguration w formacie protobuf. Chociaż tę wiadomość można przedstawić w formacie textproto na potrzeby debugowania, bezpośrednie tworzenie tego formatu wymaga szczegółowej wiedzy o jego strukturze niskiego poziomu i może być żmudne oraz podatne na błędy. MCG upraszcza ten proces, przenosząc tworzenie konfiguracji do przyjaznego dla użytkownika formatu JSON.

MCG obejmuje te funkcje:

  • Konfiguracja oparta na JSON: konfiguracje danych, w tym źródła danych, logika przetwarzania i reguły raportowania, można zdefiniować w formacie JSON zrozumiałym dla człowieka, który MCG kompiluje do wymaganego binarnego formatu protobuf.
  • Wbudowana weryfikacja: proces generowania automatycznie weryfikuje konfiguracje pod kątem definicji sygnałów i reguł schematu, aby wykrywać błędy przed wdrożeniem.
  • Automatyczne generowanie typów wiadomości: agregatory i raporty generują wyniki, które muszą być zdefiniowane przy użyciu deskryptorów wiadomości protobuf w końcowej konfiguracji binarnej. MCG wnioskuje strukturę tych wyników na podstawie typów sygnałów wejściowych i logiki agregacji oraz automatycznie generuje wymagane deskryptory wiadomości. Dzięki temu nie musisz ręcznie definiować schematów dla pośrednich lub specyficznych dla raportu struktur danych.
  • Łatwiejsze tworzenie wyrażeń: niestandardowa, czytelna dla człowieka gramatyka do definiowania wyrażeń pozwala uniknąć ręcznego tworzenia drzew wyrażeń.

Przepływ pracy

Generowanie konfiguracji danych w MCG obejmuje 2 główne etapy: jednorazowe przesłanie każdej wersji katalogu sygnałów pojazdu, której zamierzasz używać, a następnie napisanie i wygenerowanie poszczególnych konfiguracji danych.

  1. Prześlij definicje sygnałów: ten krok należy wykonać tylko raz dla każdej wersji katalogu sygnałów pojazdu. Aby włączyć weryfikację i wnioskowanie o typie, MCG musi mieć dostęp do definicji sygnałów pojazdu, do których chcesz się odwoływać w konfiguracjach. Te definicje powinny już istnieć w projekcie jako pliki protobuf w ramach katalogu VSIDL (możesz też użyć przykładowych definicji do eksperymentowania). Aby udostępnić je w MCG, spakuj je w katalog sygnałów pojazdu i prześlij za pomocą interfejsu API:

  2. Konfiguracja zapisu: po przesłaniu wersji katalogu do MCG możesz zapisać dowolną liczbę konfiguracji danych, które się do niej odwołują. W konfiguracji JSON określasz, których źródeł danych używać, jak przeprowadzać obliczenia lub agregacje na tych danych oraz jakie wyzwalacze określają, kiedy generowane są wyniki.

  3. Wygeneruj: prześlij konfigurację JSON do interfejsu MCG API. Interfejs API sprawdza poprawność konfiguracji i kompiluje ją do formatu MetricsConfiguration. Możesz poprosić o przesłanie go w formacie binarnym protobuf (application/x-protobuf) do użytku w pojeździe lub w formacie textproto (text/x-protobuf) do sprawdzenia lub debugowania.

Szczegółowe informacje o wszystkich punktach końcowych, formatach żądań i odpowiedzi oraz przykłady użycia znajdziesz w dokumentacji interfejsu MCG API.

Wdrożenie

MCG to usługa natywna dla chmury, która jest przeznaczona do wdrażania w środowisku chmurowym (np. Google Cloud Run). Zapewnia ona centralny punkt generowania i weryfikowania konfiguracji w zespołach. Instrukcje wdrażania znajdziesz w artykule Wdrażanie w Google Cloud.

Na potrzeby lokalnego programowania i testowania MCG można też uruchomić jako samodzielną usługę na komputerze dewelopera. Instrukcje konfiguracji znajdziesz w sekcji Uruchamianie lokalne.