rest - 在 S3 文件上传事件时触发 Java REST 端点
问题描述
我有一个 Spring Batch 应用程序,它执行以下操作,
- 另一个应用程序将 csv 文件放入 S3 存储桶 INBOUND
- Spring Batch 应用程序读取一个 csv 文件
- 使用每一行的数据,它调用一个 API 端点并获得一个报价
- 将这些引号放入新创建的 csv 并放入 S3 存储桶 OUTBOUND
Spring Batch 应用技术栈
使用 Spring Boot 创建
在 REST 端点上调用 Spring Batch Job Launcher
部署在 OpenShift 中
我想做的事,
当其他应用程序将新文件放入 S3 INBOUND 存储桶时,它需要触发 Spring Batch 操作(调用启动作业的 REST 端点)
我可以使用由 S3 事件触发的 K8s Cron 作业来执行此操作吗?如果是这样,有人可以解释一下吗?或者我还有其他选择吗?
解决方案
我对 AWS 服务不太熟悉,但我知道它们为 S3 存储桶提供通知服务:https ://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html
事件通知目标之一是 AWS Lambda。因此,您可以尝试创建一个调用 rest 端点并在类型通知ObjectCreated
到达时触发的函数。
推荐阅读
- java - CORS 问题,但浏览器未发送 OPTIONS 请求
- java - 推送时如何对mongodb中的数组元素进行排序?
- python - python for-in -> if not in -> if -> del 进程无故停止工作
- r - 模块化和 SelectInput 使 actionButton 重复
- sql-server - 识别 2 个表(月 1、月 2)之间的变化。我正在使用联合/相交/除外
- c - 使用可传递性验证 C 中的电子邮件
- css - 为什么 CSS 视差效果需要 overflow-y?
- powershell - 如何杀死运行给定可执行文件的进程?
- reactjs - ReactJS:'languagefunction' 已声明但其值从未被读取
- javascript - net::ERR_CERT_AUTHORITY_INVALID 与新 Microsoft Edge 上的 JavaScript 提取请求