Trzymać Arkusze Google zgodnie z plikiem DuckDB, zgodnie z harmonogramem
Napisz zapytanie SQL raz. Query Streams uruchamia je zgodnie z Twoim harmonogramem, od pięciu minut do cotygodniowych, i zapisuje wiersze w Arkuszach Google. Dopasuj wiersze do klucza, aby zmiany trafiły na swoje miejsce, a wiersze, które opuściły zapytanie, zostały usunięte, lub po prostu dopisz. Bez Zapiera, skryptów i eksportów. Za pierwszym razem zajmie to około piętnastu minut, a plan darmowy to obejmuje.
Co z tego wyjdzie?
Arkusz Arkuszy Google, który przechowuje wiersze zwracane przez zapytanie DuckDB i jest aktualizowany według harmonogramu, od pięciu minut do cotygodniowych aktualizacji, z potwierdzeniem zmian po każdym uruchomieniu. Na przykład:
DuckDB holds your data in a file. Your team works in Google Sheets. The usual bridge is an Apps Script or a Zapier zap that breaks quietly and copies one row at a time. Query Streams Automation does it differently: the Agent that already reads your DuckDB file runs your saved SQL on a schedule and writes the whole result into Google Sheets in one pass, matching rows by a key so the sheet stays correct rather than growing.
Czego będziesz potrzebować
Konto Query Streams
Plan darmowy wystarczy do tego poradnika. Zarejestruj się na my.querystreams.com.
DuckDB połączony przez agenta
The Agent installed on the computer that holds your DuckDB file, or on one that reads it from a network share, with the connection added in Data Agents. Not done yet? Najpierw połącz DuckDB; zajmie to około dziesięciu minut.
Zapisane zapytanie
SELECT, który chcesz zachować w synchronizacji, zapisany w Kreator zapytańKrok 1 poniżej pokazuje jeden z nich. Jeśli chcesz, aby zmienione wiersze były aktualizowane na miejscu, dodaj kolumnę, która jest unikatowa dla każdego wiersza, np. identyfikator.
Twoje logowanie do Arkuszy Google
Google prosi o zezwolenie usłudze Query Streams na dostęp i edycję tylko wybranych przez Ciebie arkuszy kalkulacyjnych. Nie widzi ona niczego innego na Twoim Dysku.
Gdzie odbywa się praca? Na komputerze, na którym działa Agent. Uruchamia on zapytanie zgodnie z harmonogramem i zapisuje wiersze w Arkuszach Google, więc komputer musi pozostać włączony. Przeglądarkę można zamknąć. Sam Query Streams nigdy nie zapisuje wierszy.
File on another computer? The Agent does not have to run on the computer that holds your DuckDB file: it can read the file from a network share. Reaching a file on a network share, below, shows what that takes.
Skonfiguruj w sześciu krokach
-
Zapisz zapytanie, które chcesz zachować w synchronizacji
Otwórz Kreator zapytań, wybierz połączenie DuckDB (jeszcze nie połączony? zacznij tutaj) i napisz instrukcję SELECT, która zwróci dokładnie te wiersze i kolumny, których potrzebujesz w Arkuszach Google. Ta instrukcja pobiera kilka kolumn z zamówienia tabela:
Przykład · SQLWYBIERZ order_id, customer_name, order_total Z main.orders ZAMÓW WEDŁUG order_total OPIS LIMIT 100;
Uruchom to, a potem Zapisz Nadaj mu nazwę, którą rozpoznasz, na przykład „Zamówienia dla Arkuszy Google”. Zachowaj kolumnę unikalną dla każdego wiersza w SELECT, tutaj. numer_zamówieniaTo jest klucz, którego używa Full Sync do aktualizacji wierszy w miejscu. Edytuj i ponownie zapisz zapytanie później, a automatyzacja wykryje zmianę przy następnym uruchomieniu.
-
Otwórz Automatyzację i wybierz Arkusze Google
W portalu otwórz Automatyzacja (górne menu Strumienie → Zaplanowane → Automatyzacja) i kliknij Nowa automatyzacja. Kreator ma pięć krótkich kroków. Na Krok 1 Kliknij Arkusze Google karta.
A może wolisz „Zanim zaczniesz”? Kreator otwiera się tylko wtedy, gdy agent jest online i ma połączenie oraz istnieje co najmniej jedno zapisane zapytanie. Strona zawiera listę brakujących zapytań i linki do nich.
-
Połącz Arkusze Google
NA Krok 2 trzask Połącz się z Arkuszami GoogleOtworzy się okno Google; zaloguj się i zezwól. Google prosi o zezwolenie Query Streams na wyświetlanie i edytowanie tylko wybranych arkuszy kalkulacyjnych. Nie widzi niczego innego na Twoim Dysku. Czy już połączyłeś się raz? Strona oferuje… Użyj tego połączenia Zamiast.
-
Wybierz miejsce, w którym będą lądować rzędy
NA Krok 3 wybierz Arkusz kalkulacyjny:kliknij Wybierz z Dysku Google i wybierz go w selektorze plików Google lub wpisz nazwę w polu Utwórz nowy arkusz kalkulacyjny i kliknij Tworzyć. Następnie wybierz Arkusz (zakładka). Jedna automatyzacja na zakładkę; zakładka, do której zapisuje się już inna automatyzacja, jest wyświetlana jako zajęta.
-
Wybierz zapytanie i zdecyduj, jak mają trafić wiersze
NA Krok 4 otwórz Zapisane zapytanie wyświetl listę i wybierz zapytanie z kroku 1. Query Streams uruchamia je raz, aby odczytać kolumny, informuje o liczbie zwróconych wierszy i pokazuje dwie opcje:
Dołącz · szybkoDołącz
Każde uruchomienie dodaje wiersze zapytania na dole arkusza. Nic nie jest aktualizowane ani usuwane, dlatego jest to szybki wybór w przypadku dzienników, zdarzeń i historii, które chcesz gromadzić. Kolumna klucza nie jest potrzebna. Wiersz, który powraca bez zmian, nie jest dodawany ponownie; wiersz, którego wartości uległy zmianie, jest dodawany poniżej jako nowy wiersz, a stary wiersz pozostaje.
Pełna synchronizacja · lustraPełna synchronizacja
Wiersze są dopasowywane za pomocą klawisz kolumna, taka jak identyfikator zamówienia. Nowe wiersze są dodawane, zmienione wiersze są aktualizowane na miejscu, a wiersze, które nie są już zwracane z zapytania, są usuwane, w tym wiersze wpisane ręcznie do arkusza, więc wiersze utworzone ręcznie należy przechowywać na osobnej karcie. Jest to opcja dla zapasów, lejków, danych głównych i pulpitów nawigacyjnych.
Pełna synchronizacja jest ustawiana dla każdej kolumny, co czyni ją przydatną w arkuszach współdzielonych:
- Klawisz
- Kolumna identyfikująca wiersz, na przykład numer_zamówieniaMusi być unikatowy w wyniku zapytania. Query Streams sprawdza to i odrzuca duplikaty.
- Synchronizacja
- Nadpisywane z DuckDB przy każdym uruchomieniu. Jeśli ktoś edytuje kolumnę synchronizacji w Arkuszach Google, przy kolejnym uruchomieniu przywracana jest wartość źródłowa.
- Utrzymywać
- Zapisywana, gdy wiersz pojawia się po raz pierwszy i nigdy nie jest porównywana ponownie, więc zmiana w DuckDB nie powoduje aktualizacji. W przypadku notatek, właścicieli i dat kontynuacji, które Twój zespół wpisuje ręcznie, użyj kolumny, która w ogóle nie występuje w zapytaniu: kolumny istniejące tylko w Arkuszach Google nigdy nie są modyfikowane przez synchronizację.
Co jest szybsze? Dołączanie zapisów odbywa się bez wcześniejszego odczytu arkusza. Pełna synchronizacja odczytuje arkusz, porównuje każdy wiersz i zapisuje tylko różnice, więc trwa to dłużej, ale arkusz zawsze pasuje do zapytania. Możesz później przełączyć się z panelu edycji automatyzacji.
Aby wybrać arkusz, któremu chcesz zaufać, kliknij Utwórz wszystkie kolumny jako synchronizowane, a następnie kliknij ikonę klucza na numer_zamówienia aby to zrobić KlawiszStrumienie zapytań skanują cały wynik, aby potwierdzić, że klucz jest unikatowy, i ostrzegają, jeśli tak nie jest. Przechowuj notatki zespołu w kolumnach, które nie są częścią zapytania; nigdy ich nie zmieniaj. Aby utworzyć dziennik, który powinien stale rosnąć, kliknij Utwórz wszystkie kolumny jako Zachowaj zamiast tego i pomiń klucz. Kliknij Kontynuować.
-
Ustaw harmonogram, nazwij go, utwórz
NA Krok 5 wybierać Uruchom według harmonogramu i wybierz Częstotliwość:
Częstotliwość Biegi Co 5 minut co 5 minut, najszybszy dozwolony Co 15 minut co 15 minut Co 30 minut co 30 minut Każda godzina na szczycie każdej godziny Codziennie o 9 rano codziennie o 9:00, domyślnie Codziennie o 6 rano codziennie o 6:00 Dni powszednie o 9 rano Od poniedziałku do piątku o 9:00 Tygodniowo (poniedziałek 9 rano) w każdy poniedziałek o 9:00 Niestandardowy harmonogram własne minuty, godziny, dni tygodnia lub dni miesiąca Czasy podążają za Strefa czasowa którą wybierzesz, która zaczyna się od Twojej przeglądarki. Możesz również wybrać Tylko ręcznie i naciśnij Bieg Kiedy tylko chcesz; harmonogram można dodać później z panelu edycji automatyzacji. Zaplanowane uruchomienia odbywają się w Agencie, więc trwają nawet po zamknięciu przeglądarki. Jeśli komputer z Agentem jest wyłączony w momencie planowanego uruchomienia, pominięte uruchomienie nastąpi jednorazowo, wkrótce po ponownym uruchomieniu Agenta.
Daj temu Nazwa integracji, takie jak „Zamówienia do Arkuszy Google, codziennie”, sprawdź Gotowy do stworzenia podsumowanie i kliknij Utwórz automatyzację. Wróć na stronę Automatyzacja i naciśnij Bieg Aby wykonać pierwszą synchronizację teraz, zamiast czekać na harmonogram, otwórz Arkusze Google: wiersze są tam, pod nagłówkami kolumn.
To wszystko. Od teraz arkusz jest zawsze aktualny. Nic nie opuszcza sieci poza wierszami zwróconymi przez zapytanie i nikt nie musi pamiętać o uruchomieniu czegokolwiek.
Co widzisz później
Ten Strona automatyzacji Wyświetla listę wszystkich automatyzacji wraz ze statusem, źródłem, celem, kluczem, harmonogramem, ostatnią synchronizacją i liczbą wierszy. Otwórz jeden dla Egzekucje Karta: każde uruchomienie z jego wyzwalaczem (ręcznym lub zaplanowanym), czasem trwania oraz wierszami utworzonymi, zaktualizowanymi, usuniętymi i niezmienionymi. Wydajność na karcie wyświetlane są przetworzone dane i wskaźnik sukcesu w okresie od 7 do 90 dni.
Dowiesz się, kiedy się zatrzyma
Każda organizacja ma Problemy z synchronizacją Zasada alertów od samego początku: powiadomienie w aplikacji i e-mail w przypadku niepowodzenia synchronizacji oraz kolejny w przypadku jej przywrócenia. Jedna wiadomość na incydent, nigdy jedna na ponowną próbę. Wyłącz tę opcję lub zmień kanał w sekcji Strumienie → Alerty i raporty.
Zatrzymuje się, kiedy powinien
Jeśli Arkusze Google przestaną akceptować połączenie lub łącznik danych zostanie usunięty, automatyzacja zatrzyma się i wyświetli komunikat z informacją o przyczynie. Połącz się ponownie lub wybierz nowe źródło i naciśnij przycisk Wznów. Pozostałe błędy kontynuują działanie harmonogramu i wyświetlają się w wierszu.
Brak kolumny kluczowej
Jeśli ktoś zmieni nazwę lub usunie kolumnę kluczową w Arkuszach Google, pełna synchronizacja zostanie zatrzymana przed zapisaniem czegokolwiek i wyświetli komunikat Napraw opcje: wstaw nagłówek z powrotem i uruchom ponownie lub zacznij od nowa. Pozostałe kolumny nigdy nie zostaną usunięte podczas synchronizacji.
Co pozwalają plany
Automatyzacja jest dostępna w każdym planie, w tym w planie darmowym, bez limitu liczby tworzonych automatyzacji. Każdy plan ogranicza liczbę wierszy, jakie zapytanie może zwrócić w jednym przebiegu:
| Plan | Liczba wierszy na przebieg |
|---|---|
| Bezpłatny | 125 |
| Rdzeń osobisty | 500 |
| Osobisty Plus | 1,000 |
| Podstawy działalności | 2,500 |
| Biznes Plus | 5,000 |
| Biznes Max | 10,000 |
| Rdzeń przedsiębiorstwa | 25,000 |
| Enterprise Plus | 100,000 |
| Enterprise Max | 250,000 |
Jeśli zapytanie zwróci więcej, przebieg jest wstrzymywany, a nie przerywany, a automatyzacja wskazuje, który plan pasuje lub sugeruje dodanie filtra, takiego jak zakres dat. Każde pomyślne przebiegnięcie jest również wliczane do limitu Data Realm, tej samej puli, z której korzystają zapytania w Excelu i Arkuszach. Zobacz stronę z cennikiem za dodatki.
Dobre następne ruchy
- Dodaj filtr do zapytania, np. ostatnich 90 dni, dzięki czemu arkusz pozostaje mały i szybki oraz mieści się w limicie wierszy Twojego planu.
- Przechowuj notatki wpisane ręcznie w osobnych kolumnach, poza zapytaniem, dzięki czemu przetrwają każdą synchronizację.
- Grupuj swoje automatyzacje z panelu Edycja, gdy masz ich kilka; strona Automatyzacja filtruje według grupy.
Reaching a file on a network share
The Agent opens files as a background service, not as you, so a file on another computer needs one extra step. Which step depends on the computer the Agent runs on.
If the test cannot get to the share, look for these words in its result: unreachable means the Agent’s computer got no answer from the server. On Linux or a Mac, not mounted means the share still has to be mounted, and that message includes the exact mount command for your server.
DuckDB file on a share? DuckDB allows one writer at a time, so the Agent cannot open a file that another program has open for writing; on a \\serwer\udział path the test says it is open for writing by another program. Close it there, or point the connector at a file nobody is writing to. Every query reads the file across the network, so a large file answers more slowly than it would from a local disk.
Test failed on a share?
Every run reaches the file the same way the connection test does. If runs start failing after something changed on the file server, a new password for example, open the connector in Agenci danych i kliknij Połączenie testowe. The test result, and the line under the file path, name the problem:
| Wiadomość | Przyczyna | Naprawić |
|---|---|---|
| DuckDB database file not found: followed by a \\serwer\udział path you know is right | No login is stored, so the Agent tried the share as its own account and could not see the file: the share turned that account away, or the server did not answer. In the first case the line under the path says Access denied for the agent’s service account. | Kliknij Service identity under the path and store a login that can read the share. If the line under the path does not say access denied, check that the Agent’s computer can open the share at all. |
| Share \\server: access denied — add credentials for this server | A login is stored, but that account has no permission on the share, or another sign-in to the same server is in the way; the message before this line says which. | Ask whoever runs the server to give that account read access, or store an account that has it. For a sign-in in the way, see the two rows on one login per server below. |
| Share \\server: the credentials were refused — check the username and password | The server turned the stored login down: a typo, the wrong domain, or a password changed since it was saved, which also stops runs that used to work. | Click the chip under the path and type the password again; for an account made on the server itself, leave Domain blank. After a refused login the Agent waits a minute before it tries that same one again, so the account is not locked out; saving a corrected password tries straight away. |
| Share \\server: server unreachable from the agent machine | The Agent’s computer got no answer from the server: a wrong server name, the server is off, or a firewall blocks file sharing. | On the Agent’s computer, open the same \\serwer\udział path in File Explorer. If that fails too, it is a network problem for whoever runs the network. |
| Another connector on this agent already signs in to \\server as … | Windows lets one computer sign in to a server as one account at a time, and another connector on this Agent uses a different login for that server. | Store the same login the other connector uses, or change it on every connector that reads that server. |
| Windows already holds a sign-in to \\server for … | Something on the Agent’s computer other than the Agent is already signed in to that server as a different account, and the Agent never closes a sign-in it did not make. | Do what the rest of the message says: use that same account on this connector, or close the other sign-in on the Agent’s computer. If it says the share is already readable through that sign-in, choose Use service identity in the login box instead. |
| This agent build cannot sign in to \\server with stored credentials. | The Agent is an older version that cannot use stored logins. | Update the Agent, then test again. |
| \\server\share is not mounted on this Linux agent (lub macOS agent) | The Agent runs on Linux or a Mac and the share has not been mounted on its computer yet; logins stored in the Portal are not used there. | Mount it with the command the message gives you, then test again. Step by step: na Linuksie · on a Mac. |
| … is open for writing by another program | DuckDB allows one writer at a time, and another program has the file open for writing. | Close the file in that program, or point the connector at a file nobody is writing to. |
Pytania, które zadają ludzie
Czy synchronizacja nadpisze notatki dodane przez mój zespół w Arkuszach Google?
Nie, jeśli notatki znajdują się w osobnej kolumnie. Kolumny, które istnieją tylko w Arkuszach Google i nie są uwzględnione w zapytaniu, nigdy nie są modyfikowane, więc dodaj kolumnę „Notatki” lub „Właściciel” obok zsynchronizowanych i wpisz tam swoje dane. Kolumny oznaczone Synchronizacja są przy każdym uruchomieniu przywracane do wartości DuckDB; Utrzymywać kolumny są wypełniane w momencie, gdy wiersz po raz pierwszy dociera do odbiorcy, i nie są później porównywane.
Czy moje dane DuckDB są przechowywane w strumieniach zapytań?
Nie. Agent uruchamia zapytanie po Twojej stronie i przesyła wiersze bezpośrednio do Arkuszy Google za pomocą szyfrowanego łącza. Strumienie zapytań przechowują konfigurację, harmonogram i liczbę wierszy w każdym uruchomieniu, a nie same wiersze.
Czy mój komputer musi być włączony?
Ten, który uruchamia Agenta, robi to, ponieważ to Agent uruchamia zapytanie i zapisuje je w Arkuszach Google. Twój laptop i przeglądarka mogą być wyłączone. Jeśli komputer jest wyłączony w momencie, gdy ma zostać wykonane zadanie, pominięte zadanie zostanie wykonane jednorazowo, wkrótce po ponownym uruchomieniu Agenta.
Czy mogę później zmienić zapytanie?
Tak. Edytuj i zapisz w Kreatorze zapytań, a przy następnym uruchomieniu automatycznie zostanie użyta nowa wersja. Jeśli dodasz lub usuniesz kolumny, otwórz panel edycji automatyzacji, aby je zmapować.
Czy dwa automatyzacje mogą zapisywać na tej samej karcie?
Nie, jedna automatyzacja na kartę. Skieruj drugą automatyzację na inną kartę lub rozszerz zapytanie za pierwszą.
Czy plan darmowy naprawdę to obejmuje?
Tak. Wersja darmowa to plan, który można zachować, a nie okres próbny, który wygasa. Automatyzacja jest zawarta w każdym planie; w zależności od planu zmienia się liczba wierszy, które jedno zapytanie może zwrócić w jednym przebiegu. Zobacz dokładnie, co obejmuje wersja darmowa. strona z cenami.
Powiązane przewodniki
Każdy przewodnik dla DuckDB
Nie jest to dokładnie to, czego szukasz?
- Masz folder z plikami Parquet zamiast pliku bazy danych DuckDB? Parquet Folder odczyta je wszystkie jako jedną tabelę → Parquet Folder
Setup trouble?
- Agent says the file or folder does not exist, or access is denied? Mapped drives, network shares, OneDrive and Linux home folders each need one fix → Where the Agent can read files from
- Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?

