I'm about to design an application using S3 for storage. Unfortunately, I'm not allowed to use the real service for development. Thus, I've to work with an interface-compatible replacement.
I searched a lot and ended up with to solutions: Eucalyptus Walrus and Park Place. However, I have some trouble with both.
Walrus does not seem to be a g开发者_StackOverflow中文版ood replacement. It is obviously okay for storing virtual machine images, but it has some problems when used as a real key-value storage with multiple concurrent requests. The performance is really not as good as it should, and the whole eucalyptus system is way too heavyweight just for using a single component.
Then I stumbled upon Park Place, a lightweight Ruby implementation. Unfortunately, the original source is not available anymore and there are a few scattered git-clones around, mostly outdated. There is also no complete documentation and no installation howto, especially for people that are not familiar with Ruby.
Has anybody succeeded in installing Park Place? Or do you know of other interface-compatible S3 clones for development?
Thanks in advance
As much as it is a joke S4, I'm told, has a similar API and you should be able to just point your endpoint at it. But I think TFD is right to pay a little for your testing; I wish they had a trial service, though. I would consider it the cost of a really cheap book on S3.
Not sure what language or S3 library you are planning on using. I have used the c# library and in dev mode I made a simple mock of the functions I would be using, took less than an hour and was ideal for dev testing
Other wise I use the real thing. What is the reason for not using the real thing?
Unfortunately, no one came up with a ready-to-use replacement that I can just install on my computer and host locally. So I'm sorry, but I'll have to answer this one by my own.
Due to missing alternatives, I had to create my own service with the least efforts in order to create a almost-alike service (atleast for HTTP-based item storage). Here is what I did:
1) Installed nginx as a webserver together with the mogileFS and Secure Link module and.
2) Configured the mogileFS module in order to accept PUT/DELETE requets.
3) Setup some rules in order to force bucket/key directory structures.
4) Setup the Secure Link module with some rewriting rules in order to fake signed uris.
5) Setup BASIC authentication for faking authorized requests.
6) Extended my existing connector to use my own server. Due to the functional similarity, this was rather easy. I just had to change authentication and uri signing.
That is not a cute solution, however it works and don't had to code much by my own.
精彩评论