我正在将带有 Kinesis 代理(使用 Docker 映像)的 JSON 文件发送到 Kinesis Data Stream,然后它充当 Kinesis Firehose 传输流的源,然后它应该将文件写入 S3,但 S3 中没有出现任何内容.
JSON 数据流入数据流,并在监控和代理日志中可见:
2019-04-16 19:00:14.036+0000 6ae9843658b1 (Agent.MetricsEmitter RUNNING) com.amazon.kinesis.streaming.agent.Agent [INFO] Agent: Progress: 18947 records parsed (490492 bytes), and 18500 records sent successfully to destinations. Uptime: 900020ms
我有一个小的 shell 脚本,它以 2 秒的间隔将 JSON 文件复制到输入文件夹(代理正在监视)中。每个文件都由 Kinesis Agent 拾取:
2019-04-16 19:00:15.015+0000 6ae9843658b1 (FileTailer[kinesis:dev-kinesis-stream:/tmp/stream/*.json]) com.amazon.kinesis.streaming.agent.tailing.KinesisParser [INFO] KinesisParser[kinesis:dev-kinesis-stream:/tmp/stream/*.json]: Continuing to parse /tmp/stream/testfile00001.json.
但是,我的 Firehose Delivery 流或我的 S3 存储桶中没有任何内容。
在我的消防软管中,我将缓冲区条件设置为“1 MB 或 60 秒”,并禁用了加密和压缩。这应该允许文件传递到 S3,因为每个文件只包含一个小数组(文件大小约为 1 KB)。
我很困惑,不太明白还有什么可能是原因。
任何帮助表示赞赏!