Как удаленно управлять устройствами aws iot с помощью заданий aws iot

Вот мой пример кода Python для создания рабочих мест в aws iot.

import boto3 

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

Ниже приведен код js для выполнения действия, которое я дал в приведенной выше программе python (рабочий документ).

//
// Private function to handle reboot operation
//
function rebootHandler(job) {
   if (job.status.status === 'QUEUED' || 
       isUndefined(job.status.statusDetails) || 
       isUndefined(job.status.statusDetails.step)) {
      job.inProgress({ operation: job.operation, step: 'initiated' }, function(err) { 
         showJobsError(err);
         var delay = (isUndefined(job.document.delay) ? '0' : job.document.delay.toString());
         exec('sudo /sbin/shutdown -r +' + delay, function (err) { 
            if (!isUndefined(err)) {
               job.failed({ operation: job.operation, errorCode: 'ERR_SYSTEM_CALL_FAILED', errorMessage: 'unable to execute reboot, check passwordless sudo permissions on agent', 
                            error: errorToString(err) }, showJobsError);
            }
         });
      });
   } else if (job.status.statusDetails.step === 'initiated') {
      job.succeeded({ operation: job.operation, step: 'rebooted' }, showJobsError);
   } else {
      job.failed({ operation: job.operation, errorCode: 'ERR_UNEXPECTED', errorMessage: 'reboot job execution in unexpected state' }, showJobsError);
   }   
}
  • Если я запускаю программу python, она создает задание и отправляет информацию на устройство, которое я к ней прикрепил.
  • Код js подписывается на тему, в которой опубликовано задание, и выполняет указанное действие.
  • Моя следующая задача - реализовать этот код js на python.
  • Я просмотрел, на какой теме опубликованы вакансии, я получил $aws/thing/thingname/job/get/# или принял... Но если я даю эту тему для подписки (тестирования), я ничего не получаю, но программа работает правильно и устройство перезагружается,
  • Я хочу завершить работу, перезапустить, проверить состояние устройства, установить обновления, запустить службу или остановить службу на подключенных устройствах iot удаленно.
  • Погуглил об этом, но большую часть времени я получал реальную информацию о работе и boto3 документы, документы Amazon, но для моего случая нет четкого объяснения.
  • Я новичок в этом, пожалуйста, прокомментируйте некоторые справочные ссылки или любые образцы документов или руководств и т. Д.

0 ответов

Другие вопросы по тегам