0

我在一个存储桶中有多个文件夹,每个文件夹都被命名为一个唯一的 guid,它总是包含一个文件。

我只需要获取以前从未读取过的文件。如果我一次获取所有对象然后进行客户端过滤,它可能会在不久的将来引入延迟,因为每天添加的新文件夹数量可能是数百个。

最初我尝试通过指定来列出对象StartAfter,但很快我意识到它只适用于按字母排序的列表。 https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html

我正在使用 AWS C# 开发工具包。有人可以给我一些关于最佳方法的想法。

谢谢

4

1 回答 1

0

Amazon S3 不维护“尚未访问的对象”的概念。

但是,有一种不同的方法可以只处理每个对象一次:

  • 创建将在创建对象时触发的Amazon S3 事件
  • 然后事件可以触发:
    • 一个AWS Lambda 函数
    • 向Amazon SQS 队列发送消息,
    • 向Amazon SNS 主题发送消息

因此,您可以通过其中一种方法触发您的自定义代码,并且您将永远不需要“搜索”新对象。

于 2020-02-02T23:03:12.403 回答