【发布时间】:2020-06-03 21:13:40
【问题描述】:
我有一台在 AWS 中运行的 kafka 机器,其中包含几个主题。 我有以下 Lambda 函数,它产生一条消息并将其推送到 kafka 主题之一。
import json from kafka
import KafkaClient from kafka
import SimpleProducer from kafka
import KafkaProducer
def lambda_handler(event, context):
kafka = KafkaClient("XXXX.XXX.XX.XX:XXXX")
print(kafka)
producer = SimpleProducer(kafka, async = True)
print(producer)
task_op = {
"'message": "Hai, Calling from AWS Lambda"
}
print(json.dumps(task_op))
producer.send_messages("topic_atx_ticket_update",json.dumps(task_op).encode('utf-8'))
print(producer.send_messages)
return ("Messages Sent to Kafka Topic")
但我看到消息没有按预期推送。
注意:在角色和策略、连接性方面没有问题。
【问题讨论】:
-
能否提供您的代码示例。
-
在 lambda_handler.py 文件中我正在创建一个 kafka 客户端并使用 Kafka Producer API 来生成消息。从我的本地笔记本电脑上,我能够将消息推送到 kafka 主题
-
你可以在你的问题中添加代码吗?
-
您说“...连接没有问题”->您能详细说明您是如何确定这一点的吗?这种情况下的一个常见问题是 Kafka 侦听器配置错误。
-
从 kafka 导入 json 导入 KafkaClient 从 kafka 导入 SimpleProducer 从 kafka 导入 KafkaProducer def lambda_handler(event, context): kafka = KafkaClient("XXXX.XXX.XX.XX:XXXX") print(kafka) producer = SimpleProducer(kafka, async=True) print(producer) task_op= {"'message":"嘿,从 AWS Lambda 调用"} print(json.dumps(task_op)) producer.send_messages("topic_atx_ticket_update", json. dumps(task_op).encode('utf-8')) print(producer.send_messages) return("Messages Sent to Kafka Topic")
标签: node.js apache-kafka aws-lambda