Как удаленно управлять устройствами 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, но для моего случая нет четкого объяснения.
- Я новичок в этом, пожалуйста, прокомментируйте некоторые справочные ссылки или любые образцы документов или руководств и т. Д.