import paho.mqtt.publish as publish
import paho.mqtt.client as mqtt
USERNAME = "admin-user"
PASSWORD = "admin-user@12345"
AUTH = {"username":USERNAME, "password":PASSWORD}
HOSTNAME = "ssl://b-c7d1ea8g-f777-4c71-23a3-2d73088fdb64-1.mq.us-west-2.amazonaws.com"
PORT = 8883
TOPICNAME = "paho/test/single"
PAYLOAD = "Hope Stackoverflow Help Me Resolve This Issue!"
publish.single(TOPICNAME, payload=PAYLOAD, hostname=HOSTNAME, port=PORT, auth=AUTH, protocol=mqtt.MQTTv311, transport="tcp", client_id="", keepalive=60, will=None) # This won't work
# publish.single(TOPICNAME, payload=PAYLOAD, hostname="localhost") # This works!
print('published message payload = ', PAYLOAD)
我能够用JavaEclipsePAHO客户端连接到AmazonMQ,但在Python中无法做到这一点。它给了我一个错误“gaierror:[Errno-2]名称或服务未知”
上面的python代码可以在本地托管的ActiveMQ MQTT代理以及我托管了ActiveMQ MQTT代理的独立服务器中正常工作。但是AmazonMQ代理也不适用
这个问题已经在Github Paho的问题跟踪程序中提到,但仍然没有解决方案会有所帮助
您需要从主机变量中删除“ssl://”,并设置ssl上下文,以便使用paho连接到Amazon MQ
下面是github上发布的示例的工作版本
相关问题 更多 >
编程相关推荐