【问题标题】:gsutil / gcloud storage file listing sorted date descending?gsutil / gcloud 存储文件列表排序日期降序?
【发布时间】:2023-03-26 18:09:02
【问题描述】:

是否无法从按日期降序排序的 Google Cloud Storage 存储桶中获取文件列表?这非常令人沮丧。我需要检查已上传文件的状态,并且存储桶中有数千个对象。

gsutil ls 没有标准的 linux -t 选项。

Google 云控制台也列出了它,但不提供排序选项。

【问题讨论】:

    标签: google-cloud-storage gsutil


    【解决方案1】:

    我将其用作解决方法:

    gsutil ls -l gs://[bucket-name]/ | sort -k 2
    

    这会输出包含日期作为第二个字段的完整列表,sort -k 2 然后按此字段排序。

    【讨论】:

    • 这是对我最好的回答。
    • 简短解释为什么会这样:ls 输出中的第二个字段是时间戳,-k 2 按此字段排序。
    • 对于大存储桶需要注意的一个缺点:它必须先下载整个项目列表,然后才能应用排序。
    • 这会按字母排序,所以如果你想按大小排序,这不起作用。
    • 这是按最旧的第一个排序,我该如何反转它?
    【解决方案2】:

    GCS 支持的唯一排序是字典序。

    作为一种解决方法,如果您可以使用日期戳为对象命名,那么您可以按日期列出对象。

    【讨论】:

    • 我猜这是设计使然?允许无限长的目录/存储桶?
    • 我一直在寻找此功能的官方文档(字典对象列表排序),但一直找不到。有没有你知道的链接?
    • 排序必须是确定性的,因为它们允许对结果进行分页,只是不一定按字母顺序排列(或可控?)。我很想看看这方面的一些官方文档,但我还没有找到。
    • 我也在寻找有关此行为的官方文档。我找到了这个参考:cloud.google.com/storage/docs/listing-objects“此页面向您展示了如何列出存储在 Cloud Storage 存储桶中的对象,这些对象在列表中按名称按字典顺序排列”。但是,它不在官方 API 页面上:cloud.google.com/storage/docs/json_api/v1/objects/list
    猜你喜欢
    • 2010-09-19
    • 2021-06-08
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    相关资源
    最近更新 更多