Ist jemand auf ein nahezu 100% Amazon S3 RESTful API-kompatibles Objektspeichersystem gestoßen?
Was ich will, ist eine Ebene, die über einem beliebigen (vorzugsweise POSIX-) Dateisystem liegt, das eine RESTful-API im Amazon S3-Stil zum Speichern ( PUT
), Abrufen ( GET
), Stat ( HEAD
) und Löschen ( DELETE
) mit angemessener Authentifizierung bietet.
Kommerzielle Projekte / Ideen sind ebenfalls willkommen.
HINWEIS:
Ich habe bisher Eukalyptus und Cumulus ausprobiert ; von denen sich Eukalyptus scheinbar blindlings S3-kompatibel nennt. Die Antwort-XML-Dokumente sind überhaupt nicht kompatibel und stellenweise lückenhaft, da überhaupt keine XML-Dokumente vorhanden sind. Cumulus hat es geschafft, die Antwortdokumente recht ähnlich zu halten, scheint aber die Datenintegrität vergessen zu haben!
Lassen Sie mich den letzten Teil erklären: Sowohl Eucalyptus als auch Cumulus unterstützen die Integritätsprüfung, die Amazon S3 anbietet, nicht. Mit S3 können Sie eine Base64 (MD5 (FILE)) zusammen mit der PUT-Anforderung bereitstellen, die dann von S3 überprüft wird, bevor sie mit einem Erfolg antworten. Eukalyptus und Cumulus unterstützen dies nicht. Mit Eukalyptus können wir dies zumindest umgehen, indem wir das im Antwortdokument angegebene MD5 überprüfen (nicht S3-kompatibles Verhalten). In Cumulus ist dies nicht möglich, da es mit nichts reagiert (wie S3). Es wird durch Cumulus noch verschlimmert, indem in der HEAD
Anfrage kein ETag ausgegeben wird .
quelle
Alte / beantworteten Frage, aber https://github.com/basho/riak_cs wurde nur an Quellen offen https://github.com/basho/riak_cs . „Riak CS ist ein Objekt - Speichersystem auf der Riak gebaut Es erleichtert Speichern großer Objekte in Riak und Präsentation einer S3-kompatiblen Schnittstelle. Außerdem bietet es Funktionen zur Änderung der Mandantenfähigkeit, wie Benutzerkonten, Authentifizierung, Zugriffskontrollmechanismen und Berichte zur Kontonutzung. "
quelle
Ich bin mir sicher, dass Sie oben so viele Optionen haben, aber Sie sollten OpenStack Swift, einen OpenSource-Objektspeicher, überprüfen und auch S3-kompatible API unterstützen. Es wird als Objektspeicherlösung für Rackspace, Hpcloud Korea Telecom und viele andere verwendet.
Dokumentation http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware für OpenStack Swift, mit der über die Amazon S3-API auf OpenStack swift zugegriffen werden kann.
Ich hoffe es hilft.
quelle
[HAFTUNGSAUSSCHLUSS: Ich arbeite für Cloudian]
Cloudian HyperStore-Objektspeichersoftware ist zu 100% mit der Amazon S3-API kompatibel. Es implementiert alle S3-APIs bis auf die Fehlercodes und alle Funktionen von Amazon S3.
Cloudian HyperStore unterstützt unter anderem das Hochladen mehrerer Teile, die Objektversionierung, die S3-kompatible Zugriffssteuerungsliste, die automatische Zuordnung zu S3 und Glacier, die S3-CORS-Verschlüsselung (Cross-Origin Resource Sharing) sowie Standortbeschränkungen.
Und ja, mit Cloudian können Sie ein Base64 (MD5 (FILE)) zusammen mit der PUT-Anforderung bereitstellen, die dann überprüft wird, bevor Sie mit einem Erfolg antworten.
Weitere Informationen finden Sie in diesem Blogbeitrag unter http://www.cloudian.com/blog/?p=64 und auf der Cloudian-Website unter http://www.cloudian.com/products/cloudian-hyperstore.php
quelle
Hast du s3fs ausgecheckt ? Die von Ihnen gewünschte MD5-Überprüfung ist nicht verfügbar ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ), aber es dürfte nicht sehr schwierig sein, diese zu implementieren. Bemerkenswert ist, dass dies letztendlich konsistent ist.
quelle