I’m building a rails3 app on heroku, and I’m using aws-s3 gem to manipulate files stored in an Amazon S3 eu bucket.
When I try to perform a AWS::S3::S3Object.delete filename, ‘mybucketname’ command, I get the following error:
AWS::S3::PermanentRedirect (The bucket you are attempting to access
must be addressed using the specified endpoint. Please send all future
requests to this endpoint.):
I have added the following to my application.rb file:
AWS::S3::Base.establish_connection!( :access_key_id => "myAccessKey", :secret_access_key => "mySecretAccessKey" )
and the following code to my controller:
def destroy
song = tape.songs.find(params[:id])AWS::S3::S3Object.delete song.filename, 'mybucket' song.destroy respond_to do |format| format.js { render :nothing => true } end end
I found a proposed solution somewhere to add AWS_CALLING_FORMAT: SUBDOMAIN to my amazon_s3.yml file, as supposedly, aws-s3 should handle differently eu buckets than us.
However, this did not work, same error is received.
Could you please provide any assistance?
Thank you very much for your help.
the problem is you need to type SUBDOMAIN as uppercase string in config, try this out