Quelqu'un a-t-il rencontré un système de stockage d'objets compatible avec l'API RESTful à 100% Amazon S3?
Ce que je recherche, c'est une couche qui se trouve au-dessus de tout système de fichiers (de préférence POSIX) qui fournit l'API RESTful de style Amazon S3 pour stocker ( PUT
), récupérer ( GET
), stat ( HEAD
) et supprimer ( DELETE
), avec une authentification décente.
Les projets / idées commerciales sont également les bienvenus.
REMARQUE:
J'ai jusqu'à présent essayé l' Eucalyptus et le Cumulus ; dont l'eucalyptus semble s'appeler aveuglément compatible S3. Les documents XML de réponse ne sont pas du tout compatibles et sont inégaux à certains endroits sans aucun document XML. Cumulus a réussi à garder les documents de réponse assez similaires, mais semble avoir oublié l'intégrité des données!
Permettez-moi d'expliquer la dernière partie: Eucalyptus et Cumulus ne prennent pas en charge la vérification d'intégrité qu'Amazon S3 propose. Ce que vous pouvez faire avec S3, c'est que vous pouvez fournir une Base64 (MD5 (FILE)) avec la demande PUT, qui est ensuite vérifiée par S3 avant de répondre avec succès. Eucalyptus et Cumulus ne supporte pas cela. Avec Eucalyptus, nous pouvons au moins contourner ce problème en vérifiant le MD5 donné dans le document de réponse (comportement non compatible S3). Dans Cumulus, ce n'est pas possible car il ne répond avec rien (comme S3). Il est encore aggravé par Cumulus, en ne donnant pas un ETag dans la HEAD
demande.
la source
Ancienne question / réponse, mais https://github.com/basho/riak_cs vient d'être ouvert sur https://github.com/basho/riak_cs : "Riak CS est un système de stockage d'objets construit au-dessus de Riak. Il facilite stocke de gros objets dans Riak et présente une interface compatible S3. Il fournit également des fonctionnalités de mutualisation telles que les comptes d'utilisateurs, l'authentification, les mécanismes de contrôle d'accès et les rapports d'utilisation par compte. "
la source
Je suis sûr que vous avez tellement d'options ci-dessus, vous devriez vérifier OpenStack Swift, son stockage d'objets OpenSource et prend également en charge l'API compatible S3. Il est utilisé comme solution de stockage d'objets pour Rackspace, Hpcloud Korea Telecom et bien d'autres.
Documentation http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware pour OpenStack Swift, permettant d'accéder à OpenStack swift via l'API Amazon S3.
J'espère que cela aide.
la source
[AVERTISSEMENT: je travaille pour Cloudian]
Le logiciel de stockage d'objets Cloudian HyperStore est 100% compatible avec l'API Amazon S3. Il implémente toutes les API S3 jusqu'aux codes d'erreur et toutes les fonctionnalités d'Amazon S3.
Pour en répertorier certains, Cloudian HyperStore prend en charge le téléchargement en plusieurs parties, la gestion des versions des objets, la liste de contrôle d'accès compatible S3, la hiérarchisation automatique vers S3 et Glacier, le partage de ressources S3 Cross-Origin (CORS), le type de codage S3, la contrainte d'emplacement et bien d'autres.
Et oui avec Cloudian, vous pouvez fournir une Base64 (MD5 (FILE)) avec la demande PUT, qui est ensuite vérifiée avant de répondre avec succès.
Pour plus d'informations, consultez cet article de blog http://www.cloudian.com/blog/?p=64 et le site Web de Cloudian à http://www.cloudian.com/products/cloudian-hyperstore.php
la source
Avez-vous vérifié s3fs ? Il ne comporte pas la vérification MD5 que vous souhaitez ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ) mais je suppose qu'il ne serait pas extrêmement difficile de l'implémenter. Il convient de noter que cela est finalement cohérent.
la source