API synchronizacji#
Uruchomienie synchronizacji wymaga zakresu apps:manage. Odczyt strumienia postępu wymaga data:read.
Uruchamianie synchronizacji#
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#
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.