AWS S3不正确的存储桶对象

时间:2015-09-05 20:04:33

标签: ruby amazon-web-services amazon-s3

我正在尝试使用aws-sdk将图片上传到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桶对象吗?

1 个答案:

答案 0 :(得分:3)

Aws::S3::Types::BucketAws::S3::Bucket不同。只有后者有#presigned_post。似乎Aws::S3::Client#list_buckets返回有关存储桶的信息,而不是存储桶对象(您必须自己创建)。

你试过了吗?

bucket = Aws::S3::Bucket.new('mybucket', client: s3)