Ruby: неопределенный метод `bucket 'для # <Aws :: S3 :: Client> - PullRequest
0 голосов
/ 02 июля 2019

Используя гем aws-sdk-s3, я в настоящее время могу загружать элементы в корзины и создавать подписанные URL-адреса, и пытаюсь определить, существует ли объект в корзине или нет.Вся документация, которую я вижу, говорит, что client.bucket ('bucketname') должен работать, но в моем случае это не так.Я пробовал:

client.bucket('bucketname')
client.bucket['bucketname']
client.buckets('bucketname')
client.buckets['bucketname']

но ничего не работает.Это предложение с использованием head_object возможно (https://github.com/cloudyr/aws.s3/issues/160),, но мне все еще интересно, почему bucket не работает.

DOCS:
https://gist.github.com/hartfordfive/19097441d3803d9aa75ffe5ecf0696da
https://docs.aws.amazon.com/sdk-for-ruby/v3/api/index.html#Resource_Interfaces

1 Ответ

0 голосов
/ 03 июля 2019

Вы должны вызывать bucket или buckets на Aws::S3::Resource экземпляре, а не на Aws::S3::Client экземпляре в качестве состояния ошибки.

И предоставленные вами ссылки, а также документы показывают, что:

s3 = Aws::S3::Resource.new(
  region: 'us-east-1',
  credentials: Aws::InstanceProfileCredentials.new()
)
bucket =  s3.bucket('my-daily-backups')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...