S3 :: Error :: SignatureDoesNotMatch: когда я пытаюсь сохранить новый объект - PullRequest
0 голосов
/ 21 августа 2010

это происходит при моем сохранении, а не когда я пытаюсь войти. Вот мой код:

service = S3::Service.new(
    :access_key_id     => S3_ACCESS_KEY,
    :secret_access_key => S3_SECRET
  )
puts "connection established with s3"

puts "finding bucket"
bucket = service.buckets.find("")
puts "building object"
object = bucket.objects.build("#{RAILS_ROOT}/jsonexport/ema.txt")
puts "saving object"
object.content = open("#{RAILS_ROOT}/export/ema.txt")
object.save

Я могу запускать весь этот код в консоли до тех пор, пока не доберусь до object.save, тогда он выдаст ошибку:

S3::Error::SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method.
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/connection.rb:209:in `handle_response'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/connection.rb:196:in `send_request'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/connection.rb:72:in `request'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/service.rb:64:in `service_request'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/bucket.rb:146:in `bucket_request'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/object.rb:196:in `object_request'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/object.rb:179:in `put_object'
from /usr/local/lib/ruby/gems/1.8/gems/s3-0.3.0/lib/s3/object.rb:74:in `save'
from (irb):8

У кого-нибудь есть советы или идеи?

1 Ответ

0 голосов
/ 21 августа 2010

Ну ... Это сработало.

    service = S3::Service.new(
    :access_key_id     => S3_ACCESS_KEY,
    :secret_access_key => S3_SECRET
  )
puts "connection established with s3"

puts "finding bucket"
bucket = service.buckets.find("euro")

puts "building ema"
object = bucket.objects.build("jsonexport/ema.json")
puts "saving ema"
object.content = open("jsonexport/ema.json")
object.save
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...