Google云端存储:如何使用gsutil获取存储桶/文件夹中的新文件列表

Rem*_*oon 4 google-cloud-storage gsutil

我有一个存储桶/文件夹,每隔几分钟就会有很多文件进入.如何根据文件时间戳只读取新文件.

例如:列出所有带有时间戳> my_timestamp的文件

Juj*_*ngh 12

你可以使用一些bash-fu:

gsutil ls -l gs://your-bucket-name | sort -k2n | tail -n1 | awk 'END {$1=$2=""; sub(/^[ \t]+/, ""); print }'

打破这个:

  • gsutil ls -l gs://your-bucket-name #抓取存储桶中对象的详细列表
  • sort -k2n #在日期字段上按编号排序
  • tail -n1 #抓住返回的最后一行
  • awk 'END {$1=$2=""; sub(/^[ \t]+/, ""); print }' #删除前两个cols(大小和日期)和ltrim删除空格

使用Google Cloud SDK v186.0.0gsutil进行测试v4.28

  • @remisharoon您从未在原始问题中要求超级健壮.我将在我的回答中添加`gsutil`版本号,以便人们了解. (3认同)
  • 在较新的 Google CloudSDK 190.0.1 和 gsutil 4.28 上适用于我的更新:`gsutil ls -l gs://your-bucket-name | 排序 -k2 | 尾-n2 | 头 -n1 | awk 'END {$1=$2=""; 子(/^[ \t]+/, ""); 打印}'` (2认同)

jte*_*ace 5

这不是 gsutil 或 GCS API 提供的功能,因为无法按时间戳列出对象。

相反,您可以使用GCS Cloud Pub/Sub功能订阅新对象。

  • +1。有关如何使用 gsutil 进行设置的示例,请参阅此问题:http://stackoverflow.com/questions/43074834/how-do-i-get-notified-when-an-object-is-uploaded-to-my -gcs-桶 (2认同)