Проблема записи данных в S3 с помощью Kinesis Firehose Delivery Stream из источника Kinesis Data Stream - PullRequest
0 голосов
/ 16 апреля 2019

Я отправляю файлы JSON с агентом Kinesis (используя образ Docker) в поток данных Kinesis, который затем служит источником для потока доставки 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

У меня есть небольшой сценарий оболочки, который копирует JSON-файлы во входную папку (которую отслеживает агент) с интервалом в 2 секунды. Каждый файл подбирается агентом Kinesis:

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 или в мое ведро S3.

В моем пожарном шланге я установил условия буфера "1 МБ или 60 секунд" и отключил шифрование и сжатие. Это должно позволить файлам проходить на S3, поскольку каждый файл содержит только небольшой массив (размер файла ~ 1 КБ).

Я в тупике и не совсем понимаю, в чем еще может быть причина.

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 22 апреля 2019

Так что я понял это сам.Проблема была с политиками IAM, которые я определил.По сути, к роли IAM пожарного шланга не были прикреплены соответствующие политики ролей, и данные не записывались в S3 (из-за проблем с разрешениями).

...