Невозможно изменить название темы на RaspberryPi при подключении через AWS-IoT Core - PullRequest
0 голосов
/ 18 января 2019

Я успешно подключил свой RaspberryPi к AWS IoT Core и могу без проблем публиковать / подписываться на тему "sdk / test / Python".Однако всякий раз, когда я изменяю тему на пользовательское значение, я получаю либо «subscribeTimeoutException ()», либо «publishTimeoutException ()».

Я выполнил команду:

python aws-iot-device-sdk-python/samples/basicPubSub.py -e xxxxxxxxx-xxx.iot.us-west-2.amazonaws.com -r root-CA.crt -c RaspberryPi.cert.pem -k RaspberryPi.private.key

Однако, когда я пытаюсь вручную выбрать тему с помощью следующей команды, я получаю вышеупомянутые ошибки.

python aws-iot-device-sdk-python/samples/basicPubSub.py -e xxxxxxxxx-xxx.iot.us-west-2.amazonaws.com -r root-CA.crt -c RaspberryPi.cert.pem -k RaspberryPi.private.key -t testTopic

Другая попытка, которую я попытался, состояла в том, чтобы вручную изменить значение «по умолчанию» в строке 46, я также получаю те же исключения.

Внутри консоли AWS IoT я могуопубликовать / подписаться на "testTopic", что заставляет меня поверить, что, возможно, мне не хватает разрешения?

Код является прямой копией: https://github.com/aws/aws-iot-device-sdk-python/blob/master/samples/basicPubSub/basicPubSub.py

Все, что я хотел бычтобы сделать это, чтобы иметь возможность вручную устанавливать названия моих тем.У кого-нибудь есть понимание этой проблемы?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

После нескольких часов копания я обнаружил, что вы не можете делать произвольные названия тем с разрешениями по умолчанию. Убедитесь, что политика, прикрепленная к вашему сертификату, который прикреплен к вашему устройству, предоставляет доступ к нужным названиям тем. В этом случае политика по умолчанию позволяет публиковать / подписываться на темы «sdk / test / Python», «sdk / test / java», «topic_1» и «topic_2».

Если вы хотите иметь произвольные названия тем «по требованию», к каждому разрешению в политике добавьте подстановочный знак, например:

"arn:aws:iot:us-west-2:000000000000:<topic/topicfilter/client/etc...>/*"

Находится под ресурсами. Также обратите внимание, что ваш сертификат должен быть активным в консоли AWS IoT, чтобы избежать SSLError.

0 голосов
/ 18 января 2019

попробовать:

тест / testTopic

надеюсь, что добавление произвольной иерархии к подписке на одну тему будет достаточно

...