如何编写Kafka连接器以与Facebook API集成?

时间:2019-04-28 21:44:45

标签: facebook-graph-api apache-kafka apache-kafka-connect

我正在尝试编写 Kafka连接器,以从Facebook提取数据。问题是,

  1. 如何在不超出facebook提供的API命中限制的情况下通过其API从facebook提取数据?连接器应在特定时间间隔后调用facebook API以获取数据,以使点击次数不会超过。

  2. 每个用户都可以使用其访问令牌访问facebook API,因此用户不能共享同一主题分区。那么如何处理这种情况。我们必须为每个用户创建一个分区吗?

我阅读了一些指南和博客,以了解Kafka连接和编写连接器。

融合-https://docs.confluent.io/current/connect/index.html

Kafka文档-https://kafka.apache.org/documentation/#connect

从概念上讲,它使我了解了什么是Kafka连接,它如何工作以及编写Kafka连接器的重要类是什么。但是,实际上,我对如何编写和运行连接器感到困惑。我试图找到分步开发指南,但没有得到。

任何教程或pdf文件,如果您可以建议编写并运行Kafka连接器的详细分步开发指南。

1 个答案:

答案 0 :(得分:0)

唯一的“官方指南”位于您拥有的链接中

https://docs.confluent.io/current/connect/devguide.html#developing-a-simple-connector

我个人没有使用Facebook API的经验,但是我认为它使用REST,因此您可以通过分叉kafka-connect-rest项目开始,但是不超过限制的最简单答案是不发送更多在给定时间段(add a timer to the code that waits between requests)内的请求数量超出您的允许范围

此外,一个连接器将只有一组访问密钥。如何创建ConnectRecord对象以最终对记录进行分区取决于您,但是我认为每个用户拥有访问密钥不会很好地扩展。将一个密钥绑定到一个应用程序可能更有意义,然后每个用户都将接受该应用程序有权访问其帐户中的某些详细信息。