Ruby:使用 aws-sdk 列出带有标记和最大键的 s3 对象

标签 ruby amazon-web-services amazon-s3

我发现 aws-sdk 文档中没有很好的示例来列出带有标记和最大键选项的 s3 对象。

在 Java 中,我可以这样做:

ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
.withBucketName(bucket)
.withPrefix(s3Prefix)
.withMarker(s3Marker)
.withMaxKeys(40));

但是在ruby中,我只能找到with_prefix方法而无法填充其他选项。请帮助告诉如何配置以列出带有标记或 max-kays 的对象

最佳答案

出于同样的原因,我花了一段时间才弄清楚这一点:文档中没有很好的示例。

然而,这是我设法让它工作的方法:

items = bucket.objects.with_prefix(prefix).page(:next_token => { :marker => marker }, :per_page => 100)
items.each do |item|
    puts item.key
end

项目是 PageResult对象。

我最终想出了结合使用 aws 文档和阅读源代码的方法。

关于Ruby:使用 aws-sdk 列出带有标记和最大键的 s3 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23056198/

相关文章:

ruby - 如何在具有关键字参数的方法中使用带问号的参数

ruby-on-rails - Neo4j 与 Ruby On Rails

amazon-web-services - 在 AWS CloudFormation 脚本中自定义合作伙伴事件源名称

amazon-s3 - Talend AWSS3 组件 - 仅迭代文件一次

ruby-on-rails - Rails 使用参数创建对象 - 不需要

ruby - #<Room :0x00000001f6f5f8> (NoMethodError) 调用私有(private)方法 `select'

postgresql - 将 PostgreSQL 通知放入 AWS SQS 队列

amazon-web-services - 结合使用AWS ECR和Portainer推/拉图像不起作用

python - 从 Amazon S3 和 Boto3 下载并读取 HDF5 文件

python - 需要调整大小并替换 Amazon S3 上的数百万张图片