Looker Studio ma własny system pamięci podręcznej raportów. Podczas tworzenia możesz zaimplementować niestandardową pamięć podręczną, aby szybciej generować raporty uniknąć ograniczeń RRSO.
Tworzysz na przykład oprogramowanie sprzęgające, które udostępnia historyczne dane pogodowe. z ostatnich 7 dni dla konkretnego kodu pocztowego. Oprogramowanie sprzęgające staje się coraz bardziej popularny, ale zewnętrzny interfejs API, z którego pobierasz dane, ma rygorystyczną szybkość i ograniczeniach. Interfejs API aktualizuje swoje dane tylko codziennie, więc dla określonego kodu pocztowego nie ma potrzeby pobierania tych samych danych wiele razy w ciągu jednego dnia. Użycie tego przewodnika po rozwiązaniu, możesz wdrożyć codzienną pamięć podręczną dla każdego kodu pocztowego.
Wymagania
- Bazę danych czasu rzeczywistego Firebase – Jeśli nie masz do niego dostępu, utwórz projektu Google Cloud Platform (GCP) Przewodnik dla początkujących dotyczący tworzenia własnej platformy Firebase Instancja bazy danych czasu rzeczywistego.
- Konto usługi GCP do odczytywania i zapisywania danych w czasie rzeczywistym w Firebase Baza danych.
- społecznościowe oprogramowanie sprzęgające, które pobiera dane ze źródła;
Ograniczenia
- Tego rozwiązania nie można używać z usługami zaawansowanymi Looker Studio. Kiedy używasz usług zaawansowanych Looker Studio, czyli kodu oprogramowania sprzęgającego w Google Apps, Skrypt nie ma dostępu do danych. Nie można więc przechowywać w pamięci podręcznej danych. za pomocą Apps Script.
- Edytorzy i przeglądający raporty nie mogą zresetować tej konkretnej pamięci podręcznej.
Rozwiązanie
Wdrażanie konta usługi
- Utwórz konto usługi w projekcie Google Cloud.
- Sprawdź, czy to konto usługi ma dostęp do BigQuery w projekcie w chmurze.
- Wymagane role zarządzania tożsamościami i dostępem:
Firebase Admin
- Wymagane role zarządzania tożsamościami i dostępem:
- Pobierz plik JSON, aby uzyskać klucze kont usługi. Zapisz w
we właściwościach skryptu projektu oprogramowania sprzęgającego. Po dodaniu
klucz, powinien wyglądać podobnie do tego w interfejsie Apps Script:
- Dodaj bibliotekę OAuth2 for Apps Script do projektu Apps Script.
- Zaimplementuj wymagany kod OAuth2 na koncie usługi:
Implementacja kodu do odczytu i zapisu z Firebase
Do odczytu i zapisu w Firebase będziesz używać interfejsu API typu REST Firebase Database. Baza danych czasu rzeczywistego. Ten kod implementuje metody wymagane do dostępu do tego interfejsu API.
Implementacja getData()
Struktura istniejącego kodu w usłudze getData()
bez buforowania powinna wyglądać
podobny do tego:
Aby użyć buforowania w kodzie getData()
, wykonaj te czynności:
- Określ „fragment” lub „jednostka” danych, które powinny być buforowane.
Utwórz unikalny klucz do przechowywania minimalnej jednostki danych w pamięci podręcznej.
W przykładowej implementacji użyto polazipcode
zconfigparams
jako klucz.
Opcjonalnie: w przypadku pamięci podręcznej poszczególnych użytkowników utwórz klucz złożony, używając klucza podstawowego i tożsamość użytkownika. Przykładowa implementacja:
js var baseKey = getBaseKey(request); var userEmail = Session.getEffectiveUser().getEmail(); var hasheduserEmail = getHashedValue(userEmail); var compositeKey = baseKey + hasheduserEmail;
Jeśli dane w pamięci podręcznej istnieją, sprawdź, czy pamięć podręczna jest aktualne.
W tym przykładzie dane dla konkretnego kodu pocztowego w pamięci podręcznej są zapisywane wraz z atrybutem bieżącej daty. Podczas pobierania danych z pamięci podręcznej data przechowywania w pamięci podręcznej to jest sprawdzany w porównaniu z bieżącą datą.var cacheForZipcode = { data: <data being cached>, ymd: <current date in YYYYMMDD format> }
Jeśli dane w pamięci podręcznej nie istnieją lub są one nieaktualne, pobierz dane ze źródła i przechowywać ją w pamięci podręcznej.
W poniższym przykładzie reguła main.js
zawiera kod getData()
z buforowaniem
.
Przykładowy kod
Dodatkowe materiały
Oprogramowanie sprzęgające Chrome UX umożliwia korzystanie z panelu opartego na BigQuery o wielkości około 20 GB dla tysięcy użytkowników. To oprogramowanie sprzęgające korzysta z Bazy danych czasu rzeczywistego Firebase wraz z Apps Script Cache Service, która zapewnia dwuwarstwowe podejście do buforowania. Zobacz kod, by poznać szczegóły implementacji.