我们可以从单个Kinesis Firehose拥有多个目的地吗?我看到了这张照片
从这看起来,似乎可以从单个firehose添加s3,红移和弹性搜索。我确实想要这样做。
但是当我从aws控制台执行此操作时,它只会询问单个目标。对于弹性搜索,它也要求S3。所以,我可以添加弹性搜索和s3但仍然保留redhift。我不知道如何从相同的运动中做到这一点。请帮忙。
答案 0 :(得分:3)
正如你所说它现在不可用,但是,使用最近增加的firehose功能,你可以使用一个firehose写入其中3个。
但我不确定这是做到这一点的最佳方式,你需要比较成本和开发成本然后决定。
如果你想在这里试试你是怎么做到的。
配置firehose写入redshift,intermadiate文件将在s3上,(可能删除中间文件),这样你就可以将它们存储在带有存储桶复制或触发新文件通知的另一个存储桶中,并使用lambda函数将其移动到另一个存储桶。在将每条记录写入Elasticsearch的同时,您将使用firehose lambda连接,它在firehose控制台中,称为数据转换。 (链接如下)为firehose的每个记录写一个简单的elasticsearch http post写请求,这样你就可以得到3个目的地的数据。
https://aws.amazon.com/blogs/compute/amazon-kinesis-firehose-data-transformation-with-aws-lambda/
正如我之前所说,这可能会花费更多,并且有2个firehoses进行redshift写入和ES + S3写入更容易。