首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从消息中心的主题中检索消息

从消息中心的主题中检索消息
EN

Stack Overflow用户
提问于 2018-03-16 13:46:30
回答 1查看 339关注 0票数 2

我正试图使用凝聚式Kafka Python从bluemix上的消息中心上获取来自主题的消息。我的代码在下面找到,但有些东西不起作用。主题和消息中心已经启动并运行,所以代码中可能有一些东西。

代码语言:javascript
运行
复制
from confluent_kafka import Producer, KafkaError, Consumer

consumer_settings = {
'bootstrap.servers': 'broker-url-here',
'group.id': 'mygroup',
'default.topic.config': {'auto.offset.reset': 'smallest'},
'sasl.mechanisms': 'PLAIN',
'security.protocol': 'ssl',
'sasl.username': 'username-here',
'sasl.password': 'password-here',
}

c = Consumer(**consumer_settings)
c.subscribe(['topic-here'])

running = True

while running:
    msg = c.poll()
    if msg.error():
        print("Error while retrieving message")
        c.close()
        sys.exit(10)
    elif (msg is not None):
        for x in msg:
            print(x)
    else:
        sys.exit(10)

当我运行代码时,它似乎被msg = c.poll()卡住了。所以我想这要么是连接失败,要么是无法检索消息。证书本身是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-19 21:05:24

消费逻辑看起来很好,但是使用者的配置不正确。

  • 需要将security.protocol设置为sasl_ssl
  • ssl.ca.location需要指向包含受信任证书的PEM文件。该文件的位置因操作系统而异,但对于最常见的操作系统:
    • Bluemix/Ubuntu:/etc/ssl/certs
    • 红帽:/etc/pki/tls/cert.pem
    • macOS:/etc/ssl/certs.pem

我们还有一个使用这个客户机的示例应用程序,它可以很容易地启动或部署到Bluemix:https://github.com/ibm-messaging/message-hub-samples/tree/master/kafka-python-console-sample

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49322289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档