Как подключиться к AWS IoT с сообщением lastWill - PullRequest
0 голосов
/ 26 марта 2019

Пример программы AWS IoT SDK подключается к AWS IoT.Но это не работает с последним конфигурированием.

Я скачал пример программы Windows & Python SDK из AWS IoT Console.

Я добавил эти предложения, между #########, перед подключением в 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?

1 Ответ

0 голосов
/ 26 марта 2019

Упс! Я был неосторожен.

Я должен включить тему lastWill в политику IoT в AWS как «iot: Опубликовать», например:

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