¿Alguien ha encontrado un sistema de almacenamiento de objetos compatible con la API RESTful 100% de Amazon S3?
Lo que busco es una capa que se asienta sobre cualquier sistema de archivos (preferiblemente POSIX) que proporcione API RESTful de estilo Amazon S3 para almacenar ( PUT
), recuperar ( GET
), estadísticas ( HEAD
) y eliminar ( DELETE
), con autenticación decente.
Proyectos / ideas comerciales son bienvenidos también.
NOTA:
Hasta ahora he probado eucalipto y cúmulo ; de los cuales Eucalyptus parece llamarse ciegamente compatible con S3. Los documentos XML de respuesta no son del todo compatibles y son irregulares en ciertos lugares sin ningún documento XML. ¡Cumulus ha logrado mantener los documentos de respuesta bastante similares, pero parece haberse olvidado de la integridad de los datos!
Permítanme explicar la última parte: tanto Eucalyptus como Cumulus no tienen soporte para la verificación de integridad que ofrece Amazon S3. Lo que puede hacer con S3 es que puede proporcionar una Base64 (MD5 (FILE)) junto con la solicitud PUT, que luego S3 verifica antes de que respondan con éxito. Eucalipto y Cúmulo no son compatibles con esto. Con Eucalyptus podemos al menos evitar esto comprobando el MD5 proporcionado en el documento de respuesta (comportamiento no compatible con S3). En Cumulus, esto no es posible ya que no responde con nada (como S3). Cumulus lo empeora aún más al no entregar un ETag en la HEAD
solicitud.
fuente
Pregunta antigua / respondida, pero https://github.com/basho/riak_cs fue de código abierto en https://github.com/basho/riak_cs : "Riak CS es un sistema de almacenamiento de objetos construido sobre Riak. Facilita almacena objetos grandes en Riak y presenta una interfaz compatible con S3. También proporciona funciones de multicliente como cuentas de usuario, autenticación, mecanismos de control de acceso e informes de uso por cuenta ".
fuente
Estoy seguro de que tiene tantas opciones anteriores, pero debería verificar OpenStack Swift, es un OpenSource Object Storage y también es compatible con API compatible con S3. Se utiliza como solución de almacenamiento de objetos para Rackspace, Hpcloud Korea Telecom y muchos otros.
Documentación http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware para OpenStack Swift, que permite el acceso a OpenStack swift a través de la API de Amazon S3.
Espero eso ayude.
fuente
[RENUNCIA: Trabajo para Cloudian]
El software de almacenamiento de objetos Cloudian HyperStore es 100% compatible con Amazon S3 API. Implementa todas las API de S3 hasta los códigos de error y todas las características que tiene Amazon S3.
Para enumerar algunos, Cloudian HyperStore admite carga de varias partes, versiones de objetos, ACL compatible con S3, niveles automáticos a S3 y Glacier, S3 Cross-Origin Resource Sharing (CORS), tipo de codificación S3, restricción de ubicación y muchos más.
Y sí, con Cloudian puede proporcionar una Base64 (MD5 (FILE)) junto con la solicitud PUT, que luego se verifica antes de responder con éxito.
Para obtener más información, consulte esta publicación de blog http://www.cloudian.com/blog/?p=64 y el sitio web de Cloudian en http://www.cloudian.com/products/cloudian-hyperstore.php
fuente
¿Has comprobado s3fs ? No cuenta con la verificación MD5 que desea ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ) pero supongo que no sería extremadamente difícil implementar esto. Es de destacar que es eventualmente consistente.
fuente