【问题标题】:How to connect to AWS IoT with lastWill message如何使用 lastWill 消息连接到 AWS IoT
【发布时间】:2019-03-26 14:05:46
【问题描述】:

AWS IoT SDK 示例程序连接到 AWS IoT。但它不适用于 lastWill 配置。

我从 AWS IoT 控制台下载了 windows&python SDK 示例程序。

在连接 basicPubSub.py 之前,我在######### 之间添加了这些句子。

我收到了这条消息:

Traceback (most recent call last):
  File "basicPubSub.py", line 113, in <module>
    myAWSIoTMQTTClient.connect()
  File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\AWSIoTPythonSDK\MQTTLib.py", line 486,
in connect
    return self._mqtt_core.connect(keepAliveIntervalSecond)
  File "C:\Users\xxx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\AWSIoTPythonSDK\core\protocol\mqtt_core
.py", line 195, in connect
    raise connectTimeoutException()
AWSIoTPythonSDK.exception.AWSIoTExceptions.connectTimeoutException
# Init AWSIoTMQTTClient
myAWSIoTMQTTClient = None
if useWebsocket:
    ...
else:
    myAWSIoTMQTTClient = AWSIoTMQTTClient(clientId)
    ...
...

#########
# Will Topic
myAWSIoTMQTTClient.configureLastWill('last/will/topic', 'somepayload', 1)
#########

# Connect and subscribe to AWS IoT
myAWSIoTMQTTClient.connect()

如何使用 lastWill 消息连接到它?

【问题讨论】:

  • 这可能是一般的连接问题。您是否尝试过在不配置最后遗嘱的情况下进行连接?
  • @blt 是的,我做到了。效果很好。

标签: python amazon-web-services aws-iot


【解决方案1】:

哎呀!我很粗心。

我必须将 lastWill 主题作为“iot:Publish”包含在 AWS IoT 政策中,例如:

  "Effect": "Allow",
  "Action": "iot:Publish",
  "Resource": [
    "arn:aws:iot:ap-northeast-1:xxxxxxxxxxxx:topic/last/will/topic"
  ]

【讨论】:

    猜你喜欢
    • 2019-04-24
    • 2018-01-25
    • 2020-02-10
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 2018-03-25
    • 2018-11-26
    • 2016-05-28
    相关资源
    最近更新 更多