微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rclone-如何列出哪个目录在AWS S3存储桶中具有最新文件?

如何解决rclone-如何列出哪个目录在AWS S3存储桶中具有最新文件?

我当前正在使用rclone访问AWS S3数据,并且由于我既不使用任何一个,因此我也不是专家。

我正在访问公用存储区unidata-nexrad-level2-chunks,并且正在查看1000个文件夹。要查看这些内容,我正在使用Windows命令提示符并输入:

rclone lsf chunks:unidata-nexrad-level2-chunks/KEWX

只有一个文件夹随时都有实时数据写入该文件夹,这就是我需要找到的文件夹。如何确定我需要哪一个?我可以检查一下哪个文件夹具有最新数据。但是我该怎么办?

我的命令的输出如下所示:

1/
10/
11/
12/
13/
14/
15/
16/
17/
18/
19/
2/
20/
21/
22/
23/
... ... ... (to 1000)

我该怎么做才能将最新数据写入哪里?由于一次仅一个文件夹,我希望它会很简单。

解决方法

如果您想了解最新文件的特定文件夹,则应编写自己的脚本以检索所有对象的列表,然后找出哪个是最新的,以及哪个在哪个存储桶中。以下是执行该操作的Python脚本:

import boto3

s3_resource = boto3.resource('s3')

objects = s3_resource.Bucket('unidata-nexrad-level2-chunks').objects.filter(Prefix='KEWX/')

date_key_list = [(object.last_modified,object.key) for object in objects]

print(len(date_key_list)) # How many objects?

date_key_list.sort(reverse=True)

print(date_key_list[0][1])

输出:

43727
KEWX/125/20200912-071306-065-I

要花费一些时间才能找到这43,700个对象!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。