BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Dropbox peut maintenant contenir des données structurées avec son API Datastore

par Abel Avram , traduit par Matthieu Lux le 21 août 2013 |

Dropbox a publié son API Datastore qui propose un accès à un stockage clé-valeur qui permet la synchronisation entre les différents appareils d’un utilisateur utilisant le même compte Dropbox. Elle gère également la résolution automatique de conflit.

L’API Datastore permet aux applications de stocker des données structurées dans le compte Dropbox de l’utilisateur. Elle propose également une gestion native de la synchronisation des changements entre les différents appareils et une gestion automatique de la résolution des conflits. L’API permet une utilisation offline et propagera les mises à jour quand la connexion Internet est de retour.

Un Datastore est organisé en tables qui contiennent des enregistrements consistant en un ID et une liste de champs. Chaque champ a un nom et une valeur. La liste des types de données possibles est la suivante :

  • String
  • Boolean
  • Integer, 64 bits, signé
  • Floating point, IEEE double
  • Date, timestamp POSIX en millisecondes
  • Bytes, Les données binaires telles que les images ou les données compressées. Comme chaque enregistrement a une liste de 100 ko, stocker de plus grandes quantités de données peut être fait en utilisant les fichiers Dropbox à travers l’API Files. Le champ peut alors contenir la référence vers le fichier.
  • List, Une liste d’un des types précédents. Elle ne peut pas elle-même contenir une autre liste. Elle supporte les opérations simples tel que : put, move, insert et delete.

Le datastore n’a pas de schéma ce qui permet les enregistrements avec des nombres de champs différents, mais il est recommandé que “tous les enregistrements aient globalement les mêmes champs afin de pouvoir faire des recherches sur ces champs”. Il est possible de créer plusieurs tables et plusieurs datastores pour s’adapter aux besoins des développeurs.

Une application est limitée à 5 Mo pour l’ensemble de ses datastores sans utiliser le quota de stockage de l’utilisateur. Au-dessus de cette limite, l’application commence à utiliser le quota de données Dropbox de l’utilisateur et l’écriture ne fonctionnera plus si la limite est atteinte.

Le code suivant est un exemple de code pour Android montrant comment ouvrir le datastore par défaut, créer une nouvelle table, insérer un nouvel enregistrement avec deux champs, “taskname” et “completed”, et les synchroniser dans les données en mémoire avec Dropbox.

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

Les écouteurs enregistrés seront informés lors de l’opération de synchronisation afin qu’ils puissent y réagir. C’est comme cela que les opérations dans le datastore sont propagées à travers les différents appareils.

Dropbox propose des SDKs pour Android, iOS et JavaScript. Comme l’API est en beta, Dropbox s’attends à ce que “l’API soit stable dans quelques semaines”.

Dropbox a sorti un Sync Component pour iOS avec Xamarin qui permet d’accéder au datastore en C#. Une vidéo de démonstration réalisé par Xamarin montre à quelle vitesse les changements sont propagées entre les appareils.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT