写点什么

Dropbox 通过数据存储 API 支持结构化数据

  • 2013-07-17
  • 本文字数:991 字

    阅读完需:约 3 分钟

Dropbox 发布了数据存储 API , 提供了访问键值的功能, 并支持在使用 Dropbox 用户的设备之间进行同步和自动解决冲突。
数据存储 API 允许应用在用户的 Dropbox 帐户中保存结构化数据,并内置支持在各种不同的设备间进行同步和自动解决冲突。该 API 支持离线活动,能在网络断开重新连接后进行更新。
数据存储以表格的方式保存,其中包含了由 ID 和字段集合组成的记录。每一个字段有名称和值。支持的类型有:

  • 字符串
  • 布尔型
  • 64 位带符号整型
  • IEEE 双精度浮点型
  • 支持 POSIX 毫秒时间戳的日期类型
  • 字节类型。支持如图片或压缩数据的二进制数据。由于每条记录的大小限制为 100KB, 可以通过 Sync API 访问 Dropbox 的文件以存储更大量的数据。该字段包括对文件的引用。
  • List 列表类型。列表支持上述提及的类型。它不能包含其他列表。列表支持基本的操作:put、move、insert 和 delete。

数据存储不包括 schema,能允许记录有不同数量的字段,但建议“所有在表中的记录都有相同的字段以便查询。”多表和数据存储可以根据开发者需要去创建。

一个应用如果不使用用户的存储配额则被限制为 5MB 的存储空间。如果超过大小限制,则开始使用用户的 Dropbox 配额,如果达到限制值则应用不能运行。
下面是一个 Android 的例子,说明如何开启默认的数据存贮、创建新的表格、插入一条有两个字段 taskname 和 completed 的记录,然后使用 Dropbox 同步到内存数据库中。

复制代码
DbxDatastore store = DbxDatastore.openDefault(mAccount);
DbxTable tasksTbl = store.getTable("tasks");
DbxRecord firstTask = tasksTbl.insert().set("taskname",
"Buy milk").set("completed", false);
store.sync();

当一个同步操作发生的时候注册的监听器将会收到通知并按需处理。这就是数据存储如何在设备中运作的原理。

Dropbox 为 Android、iOS 和 Javascript 提供了 SDK 。尽管 API 还处于 beta 阶段,

Dropbox 期望“在接下来数周 API 会推出稳定版本”。

Dropbox 提供对 iOS for Xamarin 的同步组件的支持,能支持使用C#访问数据存储。

由Xamarin 创建的一个范例视频说明了如何在不同的设备间快速同步数据的。

查看英文原文: Dropbox Now Can Hold Structured Data with Datastore API


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-07-17 07:411480
用户头像

发布了 81 篇内容, 共 24.0 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

LeetCode题解:309. 最佳买卖股票时机含冷冻期,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

【LeetCode】下一个更大元素 II Java题解

Albert

算法 LeetCode 28天写作

2021年阿里巴巴Java百亿级并发系统设计笔记(全彩版)

Java架构追梦

Java 阿里巴巴 面试 架构师 百亿级并发

架构大作业2

J

容器 & 服务:K8s 与 Docker 应用集群 (二)

程序员架构进阶

Docker 持续集成 kubernete 服务化 3月日更

OSPF路由协议基本知识点大全

在一个操蛋(执行力极差)的团队工作是一种怎样的体验?

冰河

团队管理 程序人生 执行力 问题总结 团队成长

(28DW-S8-Day14) 数据孤岛

mtfelix

28天写作 数据孤岛

该死的端口占用!教你用 Shell 脚本一键干掉它!

星安果

Shell 脚本 shell脚本编写 端口 端口占用

LARAVEL SMTP 服务泄露,laravel env暴露

kaer

laravel 信息安全 漏洞 ENV SMTP

需要对未知保持敬畏「Day 14」

道伟

麻木得那么快应不应该——韦伯-费希纳定律

Justin

心理学 28天写作 游戏设计

如何写 Go 代码

Rayjun

Go 语言

说完列表说字典,说完字典说集合,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

区块链药品溯源解决方案-区块链技术监管医药溯源

13530558032

四、查询

Kylin

读书笔记 数据库开发 分布式数据库mongodb 读书总结 3月日更

Spark性能调优-RDD算子调优篇(深度好文,面试常问,建议收藏)

五分钟学大数据

大数据 spark 28天写作 3月日更

5个身份和访问管理的最佳实践

龙归科技

数字身份 身份认证 身份安全 统一身份认证

进程调度算法

鲁米

算法

写作对我来说是什么?

lenka

产品经理 写作 3月日更

《经济学人》2021年3月6日刊精彩文章导读及资源下载

wbliu85

Git 常用记录

Leo

git 大前端

2021最新腾讯面经分享:Java面试刷题PDF(17个专题 5000字解析)

比伯

Java 编程 程序员 架构 面试

表达的时代

ES_her0

28天写作 3月日更

该不该签竞业协议?

石云升

程序员 话题讨论 28天写作 职场经验 3月日更

架构大作业1

J

方法论分享之:刻意练习,微小改进

boshi

方法论 经验分享 七日更

聊聊交易中台系统设计与思考

架构精进之路

中台 七日更

程序员之禅(四)

每天读本书

读书笔记 每天读本书

互联网信贷风险与大数据 风险管理&信贷准入

张老蔫

28天写作

区块链电子合同应用平台-助力企业数字化转型

13530558032

Dropbox通过数据存储API支持结构化数据_JavaScript_Abel Avram_InfoQ精选文章