Kinesis的多个目的地
问题描述:
我们可以从单个Kinesis Firehose有多个目的地吗?我看到这张图片Kinesis的多个目的地
由此看来,它似乎可以从单一射流中添加s3,redshift和elastic搜索。我完全想要这样做。
但是,当我从aws控制台执行它时,它只要求单个目的地。对于弹性搜索,它也要求S3。所以,我可以添加弹性搜索和s3,但仍然是redhift。我不知道如何从相同的kinesis做到这一点。请帮忙。
答
正如你所说的,现在它不可用,但是,使用最近增加的firehose功能,你可以使用一个消防水枪写入其中的3个。
但我不确定这是做这件事的最佳方式,您需要比较aws成本和开发成本,然后再决定。
如果你想尝试这里是你如何做到这一点。
配置firehose写入红移,intermadiate文件将在s3上(可能中间文件被删除),因此您可以将它们存储在具有存储桶复制的另一个存储桶中,或者触发新文件通知并使用lambda将其移动到另一个存储桶功能。同时要将每条记录写入Elasticsearch,您将使用firehose lambda连接,它位于firehose控制台中,称为数据转换。 (下面的链接)写一个简单的elasticsearch http post写入每个记录firehose得到的请求,所以你将有3个目的地的数据。
https://aws.amazon.com/blogs/compute/amazon-kinesis-firehose-data-transformation-with-aws-lambda/
前面说过这可以花费更多,并且具有2个firehoses做红移写入和ES + S3写入是更容易的。