Java 如何使用S3API中的startAfter选项从s3获取最新文件?

Java 如何使用S3API中的startAfter选项从s3获取最新文件?,java,amazon-s3,amazon-cloudtrail,Java,Amazon S3,Amazon Cloudtrail,我的用例是,我想从S3 bucket读取cloudtrail日志。我想使用listObject api中给出的startAfter选项来避免读取相同的日志。我确实尝试过做poc,但并没有完全解决问题。由于cloudtrail将日志存储在基于区域的文件夹中,因此startAfter失败。 假设我有这样的文件夹结构- accountId/cloudtrail/us-west-1/year/month/day/file accountId/cloudtrail/us-west-2/year/mont

我的用例是,我想从S3 bucket读取cloudtrail日志。我想使用listObject api中给出的startAfter选项来避免读取相同的日志。我确实尝试过做poc,但并没有完全解决问题。由于cloudtrail将日志存储在基于区域的文件夹中,因此startAfter失败。 假设我有这样的文件夹结构-

accountId/cloudtrail/us-west-1/year/month/day/file 
accountId/cloudtrail/us-west-2/year/month/day/file 
accountId/cloudtrail/us-east-1/year/month/day/file

如果我先在us-west-1下添加文件,然后再在us-west-2下添加文件,在startAfter选项中,我给出了us-west-1下的文件路径,它会给出正确的结果(即来自west-2的文件)。在此之后,如果我在us-east-1下添加文件,在startAfter中,如果我将此文件作为参考,它仍然会给我结果,但我不希望发生这种情况,因为这些文件是在us-east-1中添加的文件之前添加的。

我认为
startAfter
选项将无法解决此用例。您必须在读取日志的地方自己执行此操作,以检查应用程序已读取的文件的副本。