gpt4 book ai didi

Ruby:# 的未定义方法 `bucket'

转载 作者:行者123 更新时间:2023-12-02 16:54:52 25 4
gpt4 key购买 nike

使用 aws-sdk-s3 gem,我目前能够将项目上传到存储桶并创建签名 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 不起作用。

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

最佳答案

您应该在 Aws::S3::Resource 上调用 bucketbuckets实例而不是 Aws::S3::Client作为错误状态的实例。

以及您提供的链接以及docs表明:

s3 = Aws::S3::Resource.new(
region: 'us-east-1',
credentials: Aws::InstanceProfileCredentials.new()
)
bucket = s3.bucket('my-daily-backups')

关于Ruby:#<Aws::S3::Client> 的未定义方法 `bucket',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56859865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com