Receiving Aws::S3::Errors::SignatureDoesNotMatch using Shrine lib

July 3, 2018 520 views
Ruby

I'm trying to upload an attachment to Spaces by using Shrine lib from Ruby.
here is my config:

s3_options = {
  credentials: Aws::Credentials.new("key",'secret'),
  endpoint: 'https://nyc3.digitaloceanspaces.com',
  region: "*",
  bucket: "*"
}

Shrine.storages = {
  cache: Shrine::Storage::S3.new(prefix: 'cache', upload_options: {acl: 'public-read'}, **s3_options),
  store: Shrine::Storage::S3.new(prefix: 'store', upload_options: {acl: 'public-read'}, **s3_options)
}

I'm trying to run following code:

attachment.attachment = File.open("data_test.jpg")

and receiving

Aws::S3::Errors::SignatureDoesNotMatch

what is necessary steps I should do to debug this issue, or probably there is knowledge base I haven't located?

Thank you for any help!

2 Answers

Could the issue be that in the fact that you're not opening the file in binary mode? That can cause issues sometimes, try opening it binary mode:

attachment.attachment = File.open("data_test.jpg", "rb")

hello @jankomarohnic - I have no idea what it was, I've regenerated access keys and it started working

Have another answer? Share your knowledge.