rubyamazon-s3rackspacecloudfiles

Port files from Cloudfiles to S3


I have to migrate off Rackspace to Amazon. I have a big rails app that has saved lots of files on Cloudfiles and I ll have to export them to S3. Are you aware of any script or process to do that migration?

Thank you


Solution

  • Should be fairly straightforward to do something like this using the respective gems and a rake task:

    # connect to cloudfiles & aws
    cf_container.objects.each do |object_name|
      cf_object = cf_container.object object_name
      AWS::S3::S3Object.store(object_name, cf_object.data, 'name_of_s3_bucket')
    end
    

    The biggest downside to something like this is that you are passing every file through your your server/local machine. S3 allows you to make a bucket writeable from another source, but the Rackspace CloudFiles API doesn't offer any kind of "post to" service (understandably so).