2015-09-05 236 views
0

我正在嘗試使用aws-sdk將圖像上傳到s3。我能夠取回我的桶AWS S3錯誤的存儲桶對象

s3 = Aws::S3::Client.new 
resp = s3.list_buckets 
bucket = resp.buckets.select {|x| x.name == "mybucket"}[0] 

>> bucket 
>> #<struct Aws::S3::Types::Bucket name="mybucket", creation_date=2015-09-05 19:23:49 UTC> 

我現在有我的水桶。看看aws文檔和heroku's文檔我應該能夠呼叫bucket.presigned_post,但我得到NoMethodError: undefined method 'presigned_post' for #<Aws::S3::Types::Bucket:0x007ff583bece10>

我在這裏失蹤什麼?我沒有正確的s3桶對象嗎?

回答

3

Aws::S3::Types::BucketAws::S3::Bucket不一樣。只有後者有#presigned_post。看起來Aws::S3::Client#list_buckets返回關於存儲桶的信息,而不是存儲桶對象(您必須自己創建)。

你試過:

bucket = Aws::S3::Bucket.new('mybucket', client: s3) 
相關問題