MSK 使用 Python boto3 API 列出主题并重新启动代理

MSK List Topics and Reboot Broker using Python boto3 API

提问人:Abhay Nagaraj 提问时间:11/17/2023 最后编辑:Abhay Nagaraj 更新时间:11/17/2023 访问量:21

问:

我正在尝试做两件事。

  1. 使用 python boto3 API 列出 MSK 主题,但在 boto3.client(“kafka”) 中找不到 API
  2. 此外,我正在尝试使用相同的 python boto3 API 重新启动代理。

  • 我能够通过调用包含代码的 python 模块来调用上述 API 并成功重新启动代理来做到这一点 - VIA 命令行

  • 我无法通过 lambda 函数执行此操作,并将相同的 python 模块部署为代码并且每次都超时。

  • 经过一番调查,我们了解到 MSK API 服务驻留在与 lambda 不同的 VPC 中,因此无法建立通信。

    因此,尝试使用启用了 execute-api 的 VPC 终端节点来尝试 API 网关路由,这次将 lambda 绑定到 API 网关。
    我们最终仍然处于与开始时相同的状态 - 呼叫超时。

我能得到什么帮助——

  • 如果有任何指向带有列表主题方法的 boto3 API 的指针,请分享。
  • 如果有一种方法可以从 lambda 函数调用重启代理,如果共享,将不胜感激。
  • 对上述情况有任何想法,或者如果您知道有关重新启动代理或列表主题或任何 MSK API 服务可访问性的任何限制,请告诉我,我将朝这个方向暂停,直到有进一步的更新。因为,我想我已经花了好几天的时间了。

先谢谢你。

蟒蛇 Amazon-Web-Services apache-kafka aws-msk

评论


答:

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