【发布时间】:2017-08-26 21:47:04
【问题描述】:
我目前正在使用 apache camel 来使用 SQS 消息,并且一切正常。
作为一个项目的一部分,我在上传文件时使用 S3 通知事件。这些文件被上传到一个可预测的 S3 密钥 - (<type>/<account-id>/<id>/<file>)。
处理时,我使用骆驼将消息聚合到单个交换中(等待 10 条消息,或 1 秒后超时)。我想知道,但有没有一种方法可以基于 S3 进行聚合 - 例如,聚合具有相同类型或 id 的消息。
根据我从阅读骆驼文档中了解到的情况,有一些方法可以查询 Json 有效负载或标头值 - 这是一种可能的方法吗(因为 S3 事件通知是 Json 消息,并且根据 AWS 文档,PUT 操作将只生成一个记录条目)?还是我需要实现自己的聚合器?
添加一些上下文 - 我有一个收集数据并将数据上传到 S3 的服务。然后,另一个服务将在收到通知时下载此数据,对其进行处理并上传到另一个存储桶。如果我可以聚合 S3 通知,我就可以合并数据并上传它,从而减少上传和 API 调用等的数量。
【问题讨论】:
标签: java amazon-s3 apache-camel