ドキュメントメニュー

同期 API#

同期の開始には apps:manage が必要です。進捗ストリームの読み取りには data:read が必要です。

同期を開始#

POST/sources/{id}/sync

ソースの同期リクエストを受け付け、非同期リソースを返します。受付はリクエストの記録を意味し、テーブルのコミットが完了したことを意味しません。

一時停止中または削除済みのソースは拒否されます。ソースですでに処理が進行中の場合は、重複する実行を開始せず、レスポンスで競合を通知します。

レスポンスを受信できずに再試行する場合は、Idempotency-Key を使用してください。キーは、1 つのソースとリクエスト本文に紐づけてください。

進捗をストリーミング#

GET/sources/{id}/sync/stream

Server-Sent Events ストリームは、進捗と永続化された同期結果を通知します。接続が閉じられた場合は、Last-Event-ID を使って再接続してください。再接続後は、ソースリソースの最新の同期を、最終的な判断の根拠にしてください。

イベントには、テーブル名、フェーズ、完了数と合計数、終了結果が含まれる場合があります。クライアントは、追加されたイベントフィールドを無視する必要があります。

完了後#

成功を示す終了イベントは、その実行のテーブルのコミットが完了したことを意味します。関連するテーブルが異なる時刻に完了する場合があるため、データの鮮度が重要な自動化では、終了状態になった後、コミットされた _synced_at の値またはカタログを確認してください。

実行が失敗した場合はソースのエラーログを、マージと削除の意味については同期を参照してください。