amazon-web-services - 直接从 Lambda 调用 Kinesis Firehose 与 Kinesis Stream
问题描述
我需要将一些数据从 lambda 推送到 S3。传入 Lambda 的数据来自 Dynamodb 流。因为,对于推送到 S3 存储桶,使用 Firehose 被认为是最好的,因为它在推送到 S3 之前对数据进行批处理和缓冲,并提供重试策略。所以,我使用 Firehose 而不是直接推送到 S3。
但我观察到很多人将数据从 Lambda 推送到 Kinesis Stream,然后再将数据推送到 Kinesis Firehose,而不是直接从 AWS Lambda 推送到 Firehose。这样做有什么理由吗?有什么好处吗?直接推送到 Kinesis firehose 有什么缺点?
解决方案
如果Amazon Kinesis Data Firehose满足您的需求,那么一定要使用它!与普通的 Kinesis Streams 相比,它会为您处理大部分工作。
唯一不使用 Firehose的情况是当您有不同的目的地(例如,您想要处理 Amazon EC2 实例上的数据)或者您想要更多地控制流和分片(例如,处理特定分片上的某些生产者以保留排序在每个分片的基础上)。
推荐阅读
- java - 检查西班牙身份证信的Java程序
- security - OWASP ZAP API 根元素丢失错误
- php - PHP 脚本创建文件但归 www-data 所有。现在无法删除
- python - 拆分多页 Tiff 文件并将每个帧/页面保存为 Tiff
- python - MongoDB多对少关系
- javascript - 这是一个错误吗?在数组中设置子元素会导致所有元素都受到影响
- python - Python - 由于 XML 文件中的与号('&'),使用 xml.etree.ElementTree 解析失败
- amazon-dynamodb-streams - 在 DynamoDB 表上流式传输
- javascript - Mongodb:使用node.js mongoose将新数据对象添加到对象数组中
- linux - Bash shell:找不到命令