Не существует стандартного способа вставки данных потока Firehose в DynamoDB (например, S3 или Redshift). Рекомендованным способом является создание лямбды и вставка записей в DynamoDB с этим.
Используйте dynamoDB.batchWriteItem
или dynamoDB.putItem
, подробнее в этой статье или этой .
public String handleRequest(KinesisFirehoseEvent event, Context context)
List<KinesisFirehoseEvent.Record> records = event.getRecords();
for(KinesisFirehoseEvent.Record rec : records)
{
String recordId = rec.getRecordId();
String data = StandardCharsets.UTF_8.decode(rec.getData()).toString();
Item item = transformStringToItem(data);
// Write the item to the table
table.putItem(item);
}
return "success";
}
Структура firehoseStream задокументирована здесь , и пример Java-примера: здесь , а также дополнительная информация о firehose to lambda здесь .