16

Dropboxデスクトップクライアントはバイナリ差分アルゴリズムを使用してすべてのファイルをブロックに分割し、クラウドにまだ存在しないブロックのみをアップロードすることを知っています(https://serverfault.com/questions/52861/how-does- dropbox-version-upload-large-files)。

それにもかかわらず、Dropbox APIは、私が見る限り、同期が必要な場合にのみファイル全体( / files_put/ files(POST) )をアップロードできます。

Dropbox APIを使用して差分/増分同期を行う方法はありますか?つまり、デスクトップクライアントのように、ファイルの変更された部分のみをアップロードしますか?

これが不可能な場合、Dropbox APIを使用して、小さな変更がある大きなファイルを定期的に同期するためのベストプラクティスは何ですか?

4

1 に答える 1

1

残念ながら、これは不可能であり、利用できない可能性があると思います。

少し調査した後、差分同期を API に統合する機能のリクエストを見つけました[*]。Dropbox は応答していませんし、コミュニティもこの要求に賛成票を投じていません。

Dropbox がこの機能を提供しておらず、おそらく今後も提供しない理由は、これが未知の開発者の手に渡った危険な機能であるためだと推測できます。

このようなデルタ変更更新システムを使用して大きなファイルを更新するアプリケーションを作成する場合を考えてみましょう。アプリを徹底的にテストし、アプリ ストアに公開します。最初のリリースと多数のダウンロードから数週間後、非常に具体的なテスト ケースを見逃したため、悪いレビューや苦情を受け始めます。

この特定のバグのあるケースでは、差分オフセットを 1 バイト誤算しました。大野!何百ものユーザーのために、何千ものファイルを破損しました!

そのような可能性を考えると、個人的には Dropbox にそのような開発機能を提供しないようにお願いしたいと思います。そのような機能を API に統合した場合、重要なファイルの一貫性があり、安全で信頼性の高いクラウド バックアップを提供するという第 1 の目的を破ることになります。

[*]: これは元の参照場所でしたが、現在はリンク切れになっています。

( https://www.dropbox.com/votebox/1515/delta-sync-api-for-mobile-applications )

于 2013-10-04T12:22:50.130 に答える