Подтвердить что ты не робот

Дифференциальная/инкрементная загрузка Dropbox с использованием REST API

Мы знаем, что клиенты рабочего стола Dropbox используют алгоритм двоичного diff, чтобы разбивать все файлы на блоки и только загружать блоки, которые он еще не имеет в облаке (https://serverfault.com/info/52861/how-does-dropbox-version-upload-large-files).

Тем не менее, API Dropbox, насколько я вижу, может загружать только весь файл (/files_put, /files (POST)), когда требуется синхронизация.

Есть ли способ сделать дифференциальную/инкрементную синхронизацию с помощью Dropbox API, т.е. загружать только измененную часть файла, как это делают клиенты на рабочем столе?

Если это невозможно, то каковы наилучшие методы для периодической синхронизации больших файлов с небольшими изменениями с помощью Dropbox API?

4b9b3361

Ответ 1

К сожалению, это невозможно, и я подозреваю, что он никогда не будет доступен.

После небольшого исследования я нашел запрос функции для дельта-синхронизации, который будет интегрирован в API. Dropbox не ответил, и сообщество не поддержало этот запрос.

Я бы сделал обоснованное предположение, что причина, по которой Dropbox не предоставила эту функциональность, и, вероятно, никогда не будет, заключается в том, что это опасная функция в руках неизвестных разработчиков.

Рассмотрим случай, когда вы пишете приложение, использующее такую ​​систему обновлений с расширением delta для обновления больших файлов. Вы тщательно тестируете свое приложение и публикуете его в магазине приложений. Через пару недель после вашего первоначального выпуска и многочисленных загрузок вы начинаете получать плохие отзывы и жалобы, потому что вам удалось пропустить очень конкретный тестовый пример.

В этом конкретном случае с ошибкой вы просчитали дифференциальное смещение на 1 байт. о нет! Вы уже испортили тысячи файлов, для сотен пользователей!

Учитывая такую ​​возможность, я думаю, что лично попрошу Dropbox НИКОГДА не предоставлять такую ​​функцию dev. Если бы они интегрировали такую ​​функцию в API, они бы прервали свою цель №1 - обеспечить последовательные, безопасные и надежные облачные резервные копии важных файлов.