Aws IOT Работа в Python - PullRequest
0 голосов
/ 03 мая 2018

Я создал работу, используя boto3

import boto3 

client = boto3.client('iot')
response = client.create_job(
    jobId='job_id',
    targets=[
        'thing_arn',
    ],
    document="{\"operation\":\"restart\"}",
    description='job created using boto',
    targetSelection='SNAPSHOT'
)

И я создал программу на Python, которая подписывается на прослушивание ответа

end_point = 'ur end point'
rootCAPath = 'rootCA Path'
certificatePath = 'certificate Path'
privateKeyPath = 'private Key Path'
clientId = 'myClientID'

#$aws/things/thingname/jobs/notify (or 
#$aws/things/thingname/jobs/notify-next)
#$aws/things/thingname/jobs/get/accepted
#$aws/things/thingname/jobs/get/rejected
#$aws/things/thingname/jobs/jobId/get/accepted
#$aws/things/thingname/jobs/jobId/get/rejected

topic = 'try with above all topics'
myAWSIoTMQTTClient = None
myAWSIoTMQTTClient = AWSIoTMQTTClient(clientId)
myAWSIoTMQTTClient.configureEndpoint(end_point, 8883)
myAWSIoTMQTTClient.configureCredentials(rootCAPath, privateKeyPath, certificatePath)
# Connect and Subscribe
while True:
    myAWSIoTMQTTClient.connect(1000)
    #subscribe multiple topic
    myAWSIoTMQTTClient.subscribe(topic, 1, customCallback)
    time.sleep(2)

пока я слушаю тему, упомянутую выше, ответа нет. Я также проверил ее с помощью консоли aws iot (TEST) и подписался на указанные выше темы, там также нет ответа. Как задание отправляется на зарегистрированное устройство iot и по какой теме отправляются сведения о работе на это устройство ?

1 Ответ

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

Лучше поздно, чем никогда, для тех, кто все еще натыкается на проблему.

Убедитесь, что $ включено в тему. Это было то, что пошло не так для меня.

Ответ возвращается на /accepted или /rejected (/# для их комбинации).

Также вы можете подписаться на тему $aws/events/#, чтобы проверить, подписывалось ли ваше устройство на эту тему при тестировании.

Этот пример может вам помочь.

...