提问人:Abhay Nagaraj 提问时间:11/17/2023 最后编辑:Abhay Nagaraj 更新时间:11/17/2023 访问量:21
MSK 使用 Python boto3 API 列出主题并重新启动代理
MSK List Topics and Reboot Broker using Python boto3 API
问:
我正在尝试做两件事。
- 使用 python boto3 API 列出 MSK 主题,但在 boto3.client(“kafka”) 中找不到 API
- 此外,我正在尝试使用相同的 python boto3 API 重新启动代理。
- 我能够通过调用包含代码的 python 模块来调用上述 API 并成功重新启动代理来做到这一点 - VIA 命令行
- 我无法通过 lambda 函数执行此操作,并将相同的 python 模块部署为代码并且每次都超时。
- 经过一番调查,我们了解到 MSK API 服务驻留在与 lambda 不同的 VPC 中,因此无法建立通信。
因此,尝试使用启用了 execute-api 的 VPC 终端节点来尝试 API 网关路由,这次将 lambda 绑定到 API 网关。
我们最终仍然处于与开始时相同的状态 - 呼叫超时。
我能得到什么帮助——
- 如果有任何指向带有列表主题方法的 boto3 API 的指针,请分享。
- 如果有一种方法可以从 lambda 函数调用重启代理,如果共享,将不胜感激。
- 对上述情况有任何想法,或者如果您知道有关重新启动代理或列表主题或任何 MSK API 服务可访问性的任何限制,请告诉我,我将朝这个方向暂停,直到有进一步的更新。因为,我想我已经花了好几天的时间了。
先谢谢你。
答:
0赞
OneCricketeer
11/17/2023
#1
带有列表主题方法的 boto3 API
不会有。您将使用 Python Kafka 客户端,指向 MSK bootstrap-servers,然后构造一个AdminClient
从 Lambda 函数调用重启代理的方法
您必须重新启动 EC2 服务器,而不是使用 Kafka API
评论
0赞
Abhay Nagaraj
11/17/2023
有趣。列出主题部分很有意义。但是,重新启动代理部分 - 我怀疑这是否是唯一可行的方法。因为,我个人能够通过命令行和 AWS 控制台使用 boto3 API 重新启动 MSK 代理。只是我想使用基于角色的访问控制来自动化操作,这将更简洁,使用 lambda 函数来抽象出为生产管理团队成员执行相同操作所需的技术掌握。虽然,重新启动托管服务器的机器而不是重新启动服务器听起来有点极端,但 IMO。
0赞
OneCricketeer
11/18/2023
也许reboot_broker
重新启动实际的 VM/服务器。没有办法真正分辨,AFAIK。无论如何,boto3 可以从 Lambda 中使用。Kafka API 客户端也可以像 .相关问题 stackoverflow.com/questions/63060816/...kafka-python
评论