

Let’s create a S3 bucket named `mybucket`: s3.create_bucket() Note that `accessKey1` and `verySecretKey1` are the default access key and secret access key defined by Scality S3 server. Require 'aws-sdk' We initiate a connection to our S3 server running in our Docker container.

Here we indicate that this script should be executed using Ruby and that we are including the AWS SDK library: #!/usr/bin/ruby Resp = s3.list_objects_v2(bucket: 'mybucket')Ĭongratulations, you created your first S3 bucket and uploaded a file to it! S3.put_object(bucket: 'mybucket', key: 'myfavoritefile', body: file) Using your favorite text editor, create a file containing your Ruby script, let’s name it `s3_script.rb`: #!/usr/bin/rubyįile.open('myfavoritefile', 'rb') do |file| Now let’s create a file that we will upload to our bucket (we will use it later): $ touch myfavoritefile
#AWS S3 CLIENT LINUX INSTALL#
Install the Ruby gem AWS SDK v2 (documentation here ): $ gem install aws-sdk Status: Downloaded newer image for scality/s3server:latestħc61434e5223d614a0739aaa61edf21763354592ba3cc5267946e9995902dc18Ĭheck that the Docker container is properly running: $ docker psĬONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESĮd54e677b1b3 scality/s3server "npm start" 5 days ago Up 5 days 0.0.0.0:8000->8000/tcp s3server Launch the Scality S3 server Docker container: $ docker run -d -name s3server -p 8000:8000 scality/s3server To illustrate how easy it is to emulate AWS S3 with Scality S3 server, let’s do it live! But also for enterprises as it is production-ready and scalable.
#AWS S3 CLIENT LINUX SOFTWARE#
The software is suited for individuals, one can get started in seconds without any complicated installation. Available via Docker image, making it super easy to start and distribute. The last and my preferred option is Scality S3 server. This is a very complete solution (only running on CentOS), oriented toward enterprises, and unfortunately too heavyweight for individuals or small businesses. The second option is HPE Helion Eucalyptus which offers a wide spectrum of AWS services emulation (CloudFormation, Cloudwatch, ELB…) including support for S3.

It is a great tool to get started but does not implement all S3 commands and is not suited for production usage. The first one that I ran into is Fake S3, written in Ruby and available as a gem, it requires only a few seconds to install and the library is very well maintained. As usual, the open source world did not disappoint me and provided several solutions, here are my favorites: That’s why I started looking into open source solutions that would emulate the S3 API and that could run on any machine. Some Holberton School students are also working during commutes, meaning either slow Internet connections and expensive bandwidth or no Internet connection at all. Because S3 is a must-know for any software engineer, I want my students to gain experience with it and use it in their web applications, yet I don’t want them to pay for it. While the service is great, it is not open source so you have to trust Amazon with your data and even though they provide a free-tier access for a year, one must enter credit card information to create an account. Companies such as DropBox, Netflix, Pinterest, Slideshare, Tumblr and many more are relying on it. Think of it as a remote drive where you can store files in directories, retrieve and delete them. Amazon S3 (Simple Storage Service) is a very powerful online file storage web service provided by Amazon Web Services.
