2012-10-06 1 views
13

Dropbox 데스크톱 클라이언트는 바이너리 diff 알고리즘을 사용하여 모든 파일을 블록으로 분해하고 아직 클라우드에없는 블록 만 업로드합니다 (https://serverfault.com/questions/52861/how-does-dropbox-version-upload-large-files).REST API를 사용한 보관 용 차등/증분 업로드

그럼에도 불구하고 Dropbox API는 동기화가 필요할 때 전체 파일 (/files_put, /files (POST)) 만 업로드 할 수 있습니다.

Dropbox API를 사용하여 차등/증분 동기화를 수행 할 수있는 방법이 있습니까? 즉, 데스크톱 클라이언트처럼 파일의 변경된 부분 만 업로드 할 수 있습니까?

이것이 가능하지 않은 경우 Dropbox API를 사용하여 작은 변경 사항이있는 대용량 파일을 정기적으로 동기화하는 것이 가장 좋습니다.

+0

위대한 질문 - 혹시 답을 찾았습니까? – DoctorG

+0

불행히도. 나는 관련성이있는 것을 찾으면이 포스트로 돌아갈 것이다. –

+0

AFAIK, HTTP 범위 검색 요청을 사용하여 블록 단위로 파일을 다운로드 할 수 있습니다 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2) Dropbox HTTP API가이를 지원합니다 (최소한 다운로드 용 파일), 업로드가 확실하지 않습니다. /파일 (GET) 방법에 대한 자세한 내용보기 : https://www.dropbox.com/developers/core/docs –

답변

4

불행히도 이것은 불가능하며 나는 결코 사용할 수 없을 것이라고 생각합니다.

약간의 연구를 한 후 기능 요청 for delta-syncing to be integrated into the API을 발견했습니다. Dropbox가 응답하지 않았거나 커뮤니티가이 요청을 취소하지 않았습니다.

Dropbox가이 기능을 제공하지 못했을 가능성이 높고 결코 알 수없는 개발자의 손에 위험한 기능이기 때문에 추측을하게됩니다.

큰 파일을 업데이트하는 데 이러한 델타 변경 시스템을 사용하는 응용 프로그램을 작성하는 경우를 생각해보십시오. 앱을 철저히 테스트하여 앱 스토어에 게시합니다. 처음 출시 된 후 2 주가 지나고 다운로드 횟수가 많으면 매우 구체적인 테스트 케이스를 놓치기 때문에 나쁜 리뷰와 불만이 접수되기 시작합니다.

이 버그가있는 특정 케이스에서 1 바이트 차이를 잘못 계산했습니다. 오, 안돼! 이제 수백 명의 사용자가 수천 개의 파일을 손상 시켰습니다!

이러한 가능성을 고려할 때 Dropbox가 절대로 그러한 개발 기능을 제공하지 말라고 개인적으로 요청할 것입니다. API에 이러한 기능을 통합하면 일관성 있고 안전하며 중요한 파일의 신뢰할 수있는 클라우드 백업을 제공하는 # 1 목적을 깨고 있습니다.

+3

결론에 동의하지 않습니다. 실수를 할 수 없어야합니다. 그러한 기능을 제공하십시오. 당신은 개발자들을 보살 피할 수 없으며 그렇게해서는 안됩니다. 당신이 일을 위험하게 만들지 않는 한, 일이 위험 할 때 좋은 경고와 잔여 물을 제공한다면, 나는 이런 식으로 뭔가를 제공하는 데 문제가 없다. –