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.