【问题标题】:Ruby: use aws-sdk to list s3 objects with marker and max-keysRuby:使用 aws-sdk 列出带有标记和最大键的 s3 对象
【发布时间】:2014-05-15 19:43:54
【问题描述】:

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

在 Java 中,我可以这样做:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    items 是一个 PageResult 对象。

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

    【讨论】:

    • 重要提示:这只会返回一页(在您的情况下为 100 个键),您可能需要使用 .more? 重复该过程方法并使用 next_page 方法遍历所有对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多