我们可以从单个Kinesis Firehose到达多个目的地吗?我看到了这张照片amazon-kinesis - 运动的多个目的地-LMLPHP

由此看来,似乎可以从单个firehose中添加s3,redshift和 Elasticsearch 。我确实想这样做。

但是,当我从aws控制台执行此操作时,它仅询问单个目的地。对于 Elasticsearch ,它也会要求S3。因此,我能够添加 Elasticsearch 和s3,但仍保留了redhift。我不知道如何从相同的运动学来做到这一点。请帮忙。

最佳答案

正如您所说的,它现在不可用,但是使用firehose的最新添加的功能,您可以使用一个firehose写入其中的3个。

但是我不确定这是否是最佳方法,您需要比较aws成本和开发成本,然后再决定。

如果您想尝试这里的方法,那就可以做到。

将firehose配置为写入redshift,然后将中间文件放在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写入更加容易。

关于amazon-kinesis - 运动的多个目的地,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44595655/

10-13 03:04