用于aws s3的python boto,如何获取存储桶中的排序和有限文件列表?

2024-01-18

如果存储桶上的文件太多,而我只想获取 100 个最新文件, 我怎样才能只得到这些列表?

s3.bucket.list http://boto.readthedocs.org/en/latest/ref/s3.html#boto.s3.bucket.Bucket.list好像没有这个功能。有知道这个的人吗?

请告诉我。谢谢。


没有办法在服务端进行这种类型的过滤。 S3 API 不支持它。您也许可以通过使用来完成类似的事情prefixes在你的对象名称中。例如,如果您使用如下模式命名所有对象:

YYYYMMDD/<objectname>
20140618/foobar (as an example)

你可以使用prefix的参数ListBucketS3 中的请求仅返回今天存储的对象。在 boto 中,这看起来像:

import boto
s3 = boto.connect_s3()
bucket = s3.get_bucket('mybucket')
for key in bucket.list(prefix='20140618'):
    # do something with the key object

您仍然需要检索具有该前缀的所有对象,然后根据它们在本地对它们进行排序last_modified_date但这比列出桶中的所有对象然后排序要容易得多。

另一种选择是将元数据对象(S3 对象)存储在 DynamoDB 等数据库中,然后查询该数据库以查找要从 S3 检索的对象。

您可以找到有关 S3 中分层列表的更多信息here http://docs.aws.amazon.com/AmazonS3/latest/dev/ListingKeysHierarchy.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于aws s3的python boto,如何获取存储桶中的排序和有限文件列表? 的相关文章

随机推荐

  • 不使用 Apache POI 解析 Excel 文件

    我知道我们可以使用 Apache POI 来解析 Excel 文件并获取数据 但我听说一个奇怪的事情 Excel 文件可以以与我们解析 CSV 类似的方式传递 就像从文件流中读取文件并用 逗号 分隔符分隔每个列值 当我们解析Excel时 我
  • 默认 Java 密钥库包含哪些密钥?

    我了解默认的 Java 信任库包含根证书和其他与信任相关的证书 但是 默认 Java 密钥库中存储了哪些密钥 据我所知 密钥库用于 在 SSL 握手期间应将哪些身份验证凭据发送到远程主机进行身份验证 如果您是 SSL 服务器 您将在密钥交换
  • Solr (JVM) 每小时峰值

    SOLVED 在我们的例子中 问题是 SuggestRequestHandler requestHandler name suggest 现在已经设置了facelimit 10 此外 应用程序提出的每个建议请求都有多个请求 为什么这会导致
  • 在 WPF MVVM 中动态添加控件

    我正在开发一个动态搜索视图 其中单击按钮应添加一个包含 3 个组合框和 2 个文本框的新行 我该怎么做呢 如果您真的想做 mvvm 请尝试忘记 如何添加控件 您不必这样做 只需考虑您的视图模型 WPF 会为您创建控件 在您的情况下 假设我们
  • 使用 Comparable 比较通用变量

    对于我班级中的一个作业 我们有一个名为 Pair 的类的集合 我们需要根据键的值按升序对其进行排序 如果键是字符串或整数 我可以应用此方法 但是如何编写代码来比较我的项目 当它们是通用的时 如下所示 我班上的教授解释了如何处理整数或字符串
  • 为什么显示“更新Git索引失败”

    我正在使用Windows 当暂存文件时 我收到此错误 Updating the Git index failed A rescan will be automatically started to resynchronize git gui
  • 添加 HTTPS 支持会导致循环重定向

    我在 Web 应用程序中使用 Spring Security 框架 我已经安装了 SSL 证书并且能够通过以下方式访问我的应用程序https 现在 当我添加requires channel https 归属于所有人intercept url
  • AngularJS element.innerHTML 在指令中未定义

    假设我有 directives directive foo function return restrict A scope true link function scope element attr console log innerHT
  • 在单个“setup.py”中多次调用“setup()”是否安全?

    我正在开发一个包含 Cython 扩展的包 根据https github com pypa pip issues 1958 https github com pypa pip issues 1958我将使用setup requires并推迟
  • iOS5.1:同步任务(等待完成)

    我在同步 openWithCompletionHandler UIManagedDocument 与主要活动时遇到一个基本问题 情况 我有一个管理共享 UIManagedDocument 的单例类 这个类提供了一种应该交付的方法the文档处
  • 如何在 Android 模拟器中安装 .apk 文件? [复制]

    这个问题在这里已经有答案了 我想在 android 模拟器中安装我的 apk 文件 但是我打开了多个模拟器 5554 5556 并且我不想关闭任何一个模拟器 当有多个模拟器时如何在模拟器中安装 apk 文件模拟器打开了吗 你可以告诉adb您
  • 获取 play.api.libs.json.JsValue 的所有键

    我必须存储play api libs json JsValue列表的键 我如何做到这一点 var str json String val json JsValue Json parse str val data json data prin
  • 使用 sort() 对 unordered_map 进行排序 [重复]

    这个问题在这里已经有答案了 我正在尝试排序unordered map using sort 函数 但我不断收到编译器错误 有人可以帮忙吗 bool comp pair
  • MVC路由静态文件

    我正在使用一个旧版 swf 文件 该文件在控制器 操作路由中查找静态路由 例如 它正在尝试下载文件 http localhost 59801 Resource Details ClearExternalPlaySeekMute swf 当文
  • Android Studio:编译器发生异常(1.8.0_152-release)

    运行应用程序时 无法完成编译 继续抛出错误 我正在使用 dagger2 库进行注释 错误 15 04 36 466 错误 system err 编译器 1 8 0 152 release 中发生异常 请针对以下错误提交错误 Java 编译器
  • XCode“上传期间发生错误,rsync:失败”

    The last archives I ve made turn out into this error 日志显示此信息 此日志中省略了应用程序名称和路由 2016 06 28 08 53 48 0000 MT Upload failed
  • 如何发送到 Zend Framework 的自定义错误页面?

    我有可以被阻止的成员 当成员被阻止时我想将它们发送到自定义错误页面 我将如何在 zend 框架中做到这一点 我试过 throw new Zend Controller Dispatcher Exception Your message he
  • 如何将此平板电脑注册到 Ubuntu udev 列表?

    我有一台便宜的 Android 平板电脑 我需要用它来测试上面的应用程序 我使用的是 Ubuntu 所以我首先必须将设备添加到udev list 我连接了平板电脑 但是adb没有看到它 adb devices List of devices
  • 如何跨 Django 视图维护 LDAP 身份验证?

    目前的情况如下 我创建了一个登录 html我在表单中输入用户名和密码的页面 在我的views py我获取 POST 数据并使用用户名和密码对我的 LDAP 服务器进行身份验证 机制有效 如果用户名 密码错误 我将被重定向回登录页面并显示错误
  • 用于aws s3的python boto,如何获取存储桶中的排序和有限文件列表?

    如果存储桶上的文件太多 而我只想获取 100 个最新文件 我怎样才能只得到这些列表 s3 bucket list http boto readthedocs org en latest ref s3 html boto s3 bucket