Кто-нибудь сталкивался с почти 100% Amazon S3 RESTful-совместимой системой хранения объектов?
Мне нужен слой, который находится поверх любой (предпочтительно POSIX) файловой системы, которая предоставляет RESTful API в стиле Amazon S3 для store ( PUT
), retrieve ( GET
), stat ( HEAD
) и delete ( DELETE
) с достойной аутентификацией.
Коммерческие проекты / идеи тоже приветствуются.
НОТА:
Я до сих пор пробовал Эвкалипт и Кучу ; из которых Эвкалипт, кажется, слепо называет себя S3-совместимым. Ответные XML-документы вообще не совместимы и в некоторых местах неоднородны, а XML-документов вообще нет. Cumulus удалось сохранить документы-ответы довольно похожими, но, похоже, забыл о целостности данных!
Позвольте мне объяснить последнюю часть: и Eucalyptus, и Cumulus не поддерживают проверку целостности, которую предлагает Amazon S3. Что вы можете сделать с S3, так это то, что вы можете предоставить Base64 (MD5 (FILE)) вместе с запросом PUT, который затем проверяется S3, прежде чем они отвечают успешно. Эвкалипт и Кучевые облака не поддерживают это. С помощью Eucalyptus мы можем, по крайней мере, обойти это, проверив MD5, указанный в ответном документе (не S3-совместимое поведение). В Cumulus это невозможно, так как ничего не отвечает (например, S3). Кумулюс усугубляет ситуацию, не давая ETag в HEAD
запросе.
источник
Старый / ответ на вопрос, но https://github.com/basho/riak_cs был только что открыт с источником по адресу https://github.com/basho/riak_cs : «Riak CS - это система хранения объектов, построенная поверх Riak. хранит большие объекты в Riak и представляет S3-совместимый интерфейс. Он также обеспечивает такие функции, как учетные записи пользователей, аутентификация, механизмы контроля доступа и отчеты об использовании каждой учетной записи ».
источник
Я уверен, что у вас так много опций выше, но вы должны проверить OpenStack Swift, его хранилище объектов OpenSource, а также поддерживает S3-совместимый API. Используется как решение для хранения объектов для Rackspace, Hpcloud Korea Telecom и многих других.
Документация http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Промежуточное программное обеспечение для OpenStack Swift, позволяющее получить доступ к OpenStack swift через API Amazon S3.
Надеюсь, это поможет.
источник
[ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я работаю на Cloudian]
Программное обеспечение Cloudian HyperStore для хранения объектов на 100% совместимо с API Amazon S3. Он реализует все API S3 вплоть до кодов ошибок и все функции, которые есть в Amazon S3.
Чтобы перечислить некоторые из них, Cloudian HyperStore поддерживает загрузку из нескольких частей, управление версиями объектов, ACL, совместимый с S3, автоматическое распределение по уровням в S3 и Glacier, общий доступ к ресурсам S3 (CORS), тип кодировки S3, ограничение местоположения и многое другое.
И да, с Cloudian вы можете предоставить Base64 (MD5 (FILE)) вместе с запросом PUT, который затем проверяется, прежде чем ответить успешно.
Для получения дополнительной информации посетите этот пост в блоге http://www.cloudian.com/blog/?p=64 и веб-сайт Cloudian по адресу http://www.cloudian.com/products/cloudian-hyperstore.php.
источник
Вы проверили s3fs ? В нем нет нужной вам проверки MD5 ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ), но я полагаю, реализовать ее не составит особого труда. Следует отметить, что это в конечном итоге соответствует.
источник