【发布时间】:2019-06-12 09:53:07
【问题描述】:
在当前的实现中,我有实际读取 2 个或更多 CSV 文件的 Java 代码,根据业务逻辑组合数据并将数据保存到新的 CSV 文件中。这个 java jar 文件在 TIBCO 中通过执行目录监视来触发,即,当放置新的文件集时,会触发这个 java 代码。 一切都很好,工作良好,但由于 AWS 云,要求托管 EC2 实例并执行此 java 代码,但不使用 TIBCO 触发,而是构建一些 java(如独立/后台进程)应用程序。 由于我不是来自 Java 背景,我不确定如何实现这个独立/后台进程,该进程保留一个 watch n S3 文件夹并触发该进程。任何帮助将不胜感激。
【问题讨论】:
-
请具体说明问题的哪一部分给您带来了困难。如果您向我们展示您目前编写的代码,它将帮助我们理解您的问题。
-
实际上没有“S3 文件夹”之类的东西。 S3 不是文件系统 - 它是键/值存储。尽管很多时候键看起来 像文件系统路径,但文件夹实际上并不存在。您可能需要使用不同的机制。阅读有关 S3 和 AWS lambdas 的信息,因为它们可以由 S3 事件触发。
-
抱歉,感谢您的快速回复,让我试着解释一下我的要求
-
1. 2 到 4 个 CSV 文件将上传到 S3 存储桶(到特定文件夹,例如 InputFiles) 2. 实际读取这 2-4 个 csv 文件的自定义 java 代码,应用一些业务逻辑并将输出写入新文件并保存到(S3 存储桶,例如 OutPutFiles) 3. CSV 文件大小可能约为 200MB 4. 由于复杂的业务逻辑,在当前的本地实施中,完成该过程大约需要 12-14 分钟。由于 Lambda 有 15 分钟的限制,因此考虑拥有一个 EC2 实例并使用一些 Java 应用程序来读取 S3 存储桶的文件并将输出保存回 S3 存储桶
-
我不确定这是否是正确的架构,而且我是 Java 新手,因此不确定是否可以在 Ec2 中使用 Java 后台服务应用程序来读取 CSV 表单 S3。
标签: java amazon-web-services amazon-s3 amazon-ec2 amazon-dynamodb