首页 > 解决方案 > 在 S3 文件上传事件时触发 Java REST 端点

问题描述

我有一个 Spring Batch 应用程序,它执行以下操作,

  1. 另一个应用程序将 csv 文件放入 S3 存储桶 INBOUND
  2. Spring Batch 应用程序读取一个 csv 文件
  3. 使用每一行的数据,它调用一个 API 端点并获得一个报价
  4. 将这些引号放入新创建的 csv 并放入 S3 存储桶 OUTBOUND

Spring Batch 应用技术栈

我想做的事,

当其他应用程序将新文件放入 S3 INBOUND 存储桶时,它需要触发 Spring Batch 操作(调用启动作业的 REST 端点)

我可以使用由 S3 事件触发的 K8s Cron 作业来执行此操作吗?如果是这样,有人可以解释一下吗?或者我还有其他选择吗?

标签: restamazon-s3kubernetesspring-batchkubernetes-cronjob

解决方案


我对 AWS 服务不太熟悉,但我知道它们为 S3 存储桶提供通知服务:https ://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html

事件通知目标之一是 AWS Lambda。因此,您可以尝试创建一个调用 rest 端点并在类型通知ObjectCreated到达时触发的函数。


推荐阅读