将记录写入配置了S3作为输出目标的AWS Firehose时,此数据在写入S3之前会缓冲多长时间?或者是否有最小尺寸阈值?
例如,我正在执行以下操作来添加记录:
aws cli:
aws firehose put-record --delivery-stream-name mytestfirehoseafds --record='Data="{\"asdf\":\"testam\"}"'
结果:
{
"RecordId": "meESlTCUOBQwXaJ9NOVwKOLrEL+7y/glB0mIJ6h6Sz8lOJGUX/N+DlZttq4BQuY528j6ResbxQBR4To+V1RMbBvE4rcxP3kYwg0lmdBAEFWlNnzUb3nP214ywtRYRQ7IzCOjY9o1YPpqHNCCYkPd4Qr0StIFxIiBHHZvTcfW+qMbQkcy7Rr3R+wb+RVs9fEF2Fa8P6mD2NXJOE84sasPNYB/mrjaSMn9"
}
我在S3存储桶中没有立即看到这一点,但是如果我在aws控制台中使用“测试数据”功能,我会看到文件被添加到S3,测试数据包括我上面的测试记录。
所以我的问题是,
1。)Firehose在将缓冲数据写入其输出源之前是否具有某种缓冲阈值?
2.。)如何在任何给定时间确定firehose缓冲区中的数据/记录?
答案 0 :(得分:1)
1)是的,它可以在firehose中配置
Kinesis Firehose在将传入数据传送到亚马逊之前对其进行缓冲 S3。您可以选择缓冲区大小(1-128 MB)或缓冲区间隔 (60-900秒);无论哪个条件满足,首先触发数据 交付给Amazon S3。
Creating an Amazon Kinesis Firehose Delivery Stream
2)你不能。 Firehose不会公开待处理的数据。