Alguém já se deparou com um sistema de armazenamento de objetos compatível com API RESTful Amazon S3 100% próximo?
O que estou procurando é uma camada que fica em cima de qualquer sistema de arquivos (de preferência um POSIX) que forneça a API RESTful do estilo Amazon S3 para armazenar ( PUT
), recuperar ( GET
), stat ( HEAD
) e delete ( DELETE
), com autenticação decente.
Projetos / idéias comerciais também são bem-vindos.
NOTA:
Até agora, experimentei Eucalyptus e Cumulus ; dos quais o eucalipto parece se chamar cegamente de compatível com S3. Os documentos XML de resposta não são de todo compatíveis e são irregulares em determinados locais, sem nenhum documento XML. O Cumulus conseguiu manter os documentos de resposta bastante semelhantes, mas parece ter esquecido a integridade dos dados!
Deixe-me explicar a última parte: o Eucalyptus e o Cumulus não têm suporte para verificação de integridade que o Amazon S3 oferece. O que você pode fazer com o S3 é fornecer uma Base64 (MD5 (FILE)) junto com a solicitação PUT, que é verificada pelo S3 antes de responder com êxito. Eucalyptus e Cumulus não suportam isso. Com o Eucalyptus, podemos pelo menos contornar isso, verificando o MD5 fornecido no documento de resposta (comportamento não compatível com S3). No Cumulus, isso não é possível, pois não responde com nada (como S3). A Cumulus é ainda pior, ao não fornecer uma ETag na HEAD
solicitação.
fonte
Pergunta antiga / respondida, mas https://github.com/basho/riak_cs foi aberta em https://github.com/basho/riak_cs : "O Riak CS é um sistema de armazenamento de objetos construído sobre o Riak. Facilita armazenamento de objetos grandes no Riak e apresenta uma interface compatível com S3. Ele também fornece recursos de multilocação, como contas de usuário, autenticação, mecanismos de controle de acesso e relatórios de uso por conta ".
fonte
Tenho certeza que você tem tantas opções acima, mas você deve verificar o OpenStack Swift, que é um OpenSource Object Storage e também suporta API compatível com S3. É usado como solução de armazenamento de objetos para Rackspace, Hpcloud Korea Telecom e muitos outros.
Documentação http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware para OpenStack Swift, permitindo acesso ao OpenStack swift por meio da API do Amazon S3.
Espero que ajude.
fonte
[AVISO LEGAL: Eu trabalho para Cloudian]
O software de armazenamento de objetos Cloudian HyperStore é 100% compatível com API Amazon S3. Ele implementa todas as APIs do S3 até os códigos de erro e todos os recursos que o Amazon S3 possui.
Para listar alguns, o Cloudian HyperStore suporta Upload de várias partes, Version de objeto, ACL compatível com S3, Classificação automática de níveis em camadas para S3 e Glacier, CORS (S3 Cross-Origin Resource Sharing), tipo de codificação S3, restrição de local e muito mais.
E sim, com o Cloudian, você pode fornecer um Base64 (MD5 (FILE)) junto com a solicitação PUT, que é verificada antes de responder com êxito.
Para obter mais informações, consulte esta postagem no blog http://www.cloudian.com/blog/?p=64 e o site da Cloudian em http://www.cloudian.com/products/cloudian-hyperstore.php
fonte
Você já viu o s3fs ? Ele não possui a verificação MD5 desejada ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ), mas suponho que não seria extremamente difícil implementá-lo. De nota é que é eventualmente consistente.
fonte