Menu dokumentacji

API synchronizacji#

Uruchomienie synchronizacji wymaga zakresu apps:manage. Odczyt strumienia postępu wymaga data:read.

Uruchamianie synchronizacji#

POST/sources/{id}/sync

Przyjmuje żądanie synchronizacji źródła i zwraca zasób asynchroniczny. Przyjęcie oznacza, że żądanie zapisano, a nie że ukończono commity tabel.

Wstrzymane lub usunięte źródło jest odrzucane. Jeśli źródło ma już aktywną pracę, odpowiedź zgłasza konflikt zamiast uruchamiać duplikat.

Podczas ponawiania po utracie odpowiedzi użyj Idempotency-Key. Powiąż klucz z jednym źródłem i treścią żądania.

Strumień postępu#

GET/sources/{id}/sync/stream

Strumień Server-Sent Events przekazuje postęp i trwały wynik synchronizacji. Gdy transport zostanie zamknięty, połącz się ponownie z Last-Event-ID. Po ponownym połączeniu traktuj najnowszą synchronizację w zasobie źródła jako rozstrzygający stan.

Zdarzenia mogą zawierać nazwę tabeli, fazę, liczbę ukończonych i wszystkich elementów oraz wynik końcowy. Klient musi ignorować dodatkowe pola zdarzeń.

Po zakończeniu#

Pomyślne zdarzenie końcowe oznacza, że commity tabel uruchomienia zostały ukończone. Powiązane tabele mogą kończyć się w różnym czasie, dlatego automatyzacja wrażliwa na aktualność powinna po osiągnięciu stanu końcowego sprawdzić zapisane wartości _synced_at lub katalog.

Gdy uruchomienie się nie powiedzie, użyj dzienników błędów źródła. Semantykę scalania i usuwania opisuje strona Synchronizacja.