amazon-web-services - 将 S3 存储桶中的新文件流式传输到 Kinesis

标签 amazon-web-services amazon-s3

我正在尝试使用 Kinesis 进行流处理日志文件的评估。有一个单独的进程可以将新日志上传到 S3 存储桶中 - 我无法触及该进程。我想知道是否有一种好方法可以将 S3 日志存储桶中显示的新文件流式传输到 Kinesis 流中进行处理。到目前为止,我发现的所有文档都涵盖了使用 S3 作为流的输出。

我目前的解决方案是让一台机器不断轮询 S3 以获取新文件,将新文件下载到本地机器并使用 Log4j appender 将其流式传输。这似乎效率低下。有没有更好的办法?

最佳答案

我意识到这是一个非常古老的问题,但请查看 AWS Lambda .它非常适合您的用例,如图 here .

在您的情况下,您将设置 s3 事件,以便添加到存储桶的每个新对象调用您的 lambda 函数。然后在 lambda 函数中编写几行代码,读取文件并将内容发送到 PutRecord (或 PutRecords 批处理)用于 Kinesis 流的方法。

这不仅适用于您的用例,而且它也很棒,因为它检查了一些流行语:“无服务器”和“实时”!

关于amazon-web-services - 将 S3 存储桶中的新文件流式传输到 Kinesis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916540/

相关文章:

javascript - 在nodejs中使用异步配置sequelize

google-app-engine - Appengine/Amazon/Heroku 实例如何工作?

javascript - 无法在 Ajax 调用中将图像上传到 Amazon S3

amazon-web-services - 适用于Kafka的Amazon Managed Streaming-MSK功能和性能

java - 转码器和转录 SDK。我还需要 SQS 吗?

amazon-web-services - 如何从一个云端分布迁移到另一个

amazon-web-services - 我的 AWS Cloudwatch 账单很大。我如何确定哪个日志流导致它?

php - 为 DELETE 操作生成预签名的 s3 Url

http - 如何为云端设置缓存 header 以便 Google Pagespeed 识别它?

node.js - AWS API Gateway 限制仅从 S3 静态网页进行访问