2015-09-05 1 views
0

Je suis en train de télécharger dans l'image à l'aide de la s3 aws-sdk. Je suis capable de récupérer mon seauAWS S3 objet seau incorrect

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> 

J'ai maintenant mon seau. En regardant la documentation aws et la documentation heroku's je devrais être en mesure d'appeler bucket.presigned_post, mais je reçois NoMethodError: undefined method 'presigned_post' for #<Aws::S3::Types::Bucket:0x007ff583bece10>

Qu'est-ce que je manque ici? Est-ce que je n'ai pas l'objet seau s3 correct?

Répondre

3

Aws::S3::Types::Bucket n'est pas la même chose que Aws::S3::Bucket. Seul ce dernier a #presigned_post. Il semble que Aws::S3::Client#list_buckets retours informations sur des seaux, pas les objets du seau (que vous devez vous créer).

Avez-vous essayé:

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