AWS Firehose buffering

Zug*_*dud 3 amazon-s3 amazon-web-services amazon-kinesis-firehose

将记录写入到配置为 S3 作为输出目标的 AWS Firehose 时,此数据在写入 S3 之前缓冲了多长时间?或者是否有最小尺寸阈值?

例如,我正在执行以下操作来添加记录:

aws cli:

aws firehose put-record --delivery-stream-name mytestfirehoseafds --record='Data="{\"asdf\":\"testam\"}"'
Run Code Online (Sandbox Code Playgroud)

结果:

    {
    "RecordId": "meESlTCUOBQwXaJ9NOVwKOLrEL+7y/glB0mIJ6h6Sz8lOJGUX/N+DlZttq4BQuY528j6ResbxQBR4To+V1RMbBvE4rcxP3kYwg0lmdBAEFWlNnzUb3nP214ywtRYRQ7IzCOjY9o1YPpqHNCCYkPd4Qr0StIFxIiBHHZvTcfW+qMbQkcy7Rr3R+wb+RVs9fEF2Fa8P6mD2NXJOE84sasPNYB/mrjaSMn9"
}
Run Code Online (Sandbox Code Playgroud)

我没有立即在我的 S3 存储桶中看到这一点,但是如果我在 aws 控制台中使用“测试数据”功能,我会看到文件被添加到 S3,测试数据包括我上面的测试记录。

所以我的问题是,

1.) Firehose 是否有某种缓冲阈值,在将缓冲数据写入输出源之前必须达到该阈值?

2.) 如何确定在任何给定时间流水缓冲区内有哪些数据/记录?

jen*_*ter 5

1) 是的,它可以在 firehose 中配置

Kinesis Firehose 在将传入数据传输到 Amazon S3 之前对其进行缓冲。您可以选择缓冲区大小(1-128 MB)或缓冲区间隔(60-900 秒);无论先满足哪个条件,都会触发数据传输到 Amazon S3。

创建 Amazon Kinesis Firehose 传输流

2)你不能。Firehose 不会公开挂起的数据。