Как убедиться, что лямбда-функция AWS работает на raspberry pi 3 для Greengrass?

Я предпочитаю официальный документ AWS для настройки AWS Greengrass в RaspberryPi3. Я уже закончил

Модуль 1. Настройка среды для Greengrass

Модуль 2. Установка основного программного обеспечения AWS IoT Greengrass

Когда дело доходит до

Модуль 3 (часть 1): функции Lambda в AWS IoT Greengrass, я застрял в "Проверить, что лямбда-функция есть Работает на основном устройстве ».

Потому что я не вижу «hello world! Отправлено из ядра greengrass, работающего на платформе: Linux - 4.19.86-v7 + -armv7l-with-debian9.0» на панели инструментов клиента MQTT, подписавшись на тему «hello / world».

Я уже успешно развернул такое развертывание для своей группы greengrass и предоставил подписки и функции Lambda, как описано в документации AWS. Я также запустил Daemon на RaspberryPi3 командой

sudo ./greengrassd start

в месте пути

/greengrass/ggc/core

Я также проверил файл GGConnManager.log, присутствующий в местоположении пути

/greengrass/ggc/var/log/system

который показывает такой последний журнал, как,

[INFO]-MQTT server started.

Но по-прежнему не получил ожидаемого результата на панели инструментов клиента MQTT.

Я что-то упускаю ? Как мне опубликовать или подписаться на такую ​​тему для этой задачи?

ИЛИ Следует ли мне попробовать какой-либо другой метод для проверки этой лямбда-функции AWS? Пожалуйста помоги.


person ashwal    schedule 30.12.2019    source источник
comment
Привет, @Ram Grandhi, спасибо за твою помощь. Я пробовал 1-ю вещь, это хорошо. Но когда я попробовал вторую вещь, о которой вы упомянули, я не получил ни одного каталога с именем user в / greengrass / ggc / var / log / в моем pi3. Итак, в чем должна быть проблема. Стоит ли мне попробовать еще раз с самого начала ..?   -  person ashwal    schedule 01.01.2020
comment
Привет @ashwal - Тогда еще пару вещей, чтобы проверить. а. проверьте, действительно ли лямбда-выражения подключены к вашему устройству локально, указав его в / greengrass / ggc / deployment / lambda / *. б. Если вы видите там свои лямбды, то я сомневаюсь, что в настройках уровня Grouplevel в AWS Console используется механизм CloudWatch Logs Only. Следовательно, вы не увидите ничего созданного (например, каталог / user) на устройстве. c. Перейдите в консоль AWS - ›GGGroup -› Настройки - ›Включить локальные системные журналы для системных и пользовательских лямбда-выражений. d. Наконец, нажмите «Развернуть» в консоли AWS. Дай мне знать, как дела .. ура, баран   -  person Ram Grandhi    schedule 05.01.2020


Ответы (2)


Если у вас нет каталога user в каталоге журнала, это означает, что ваша пользовательская лямбда-функция никогда не выполнялась. Вероятно, вам нужно настроить функцию как закрепленную лямбду, см. https://docs.aws.amazon.com/greengrass/latest/developerguide/config-lambda.html раздел 7, чтобы узнать, как это установить.

person Michael Dombrowski    schedule 02.01.2020

Вот несколько вещей, которые стоит попробовать.

  1. Перейдите в Консоль AWS -> GGGroup -> -> Настройки -> Журналы (убедитесь, что вы выбрали Локальные журналы для пользовательских лямбда-выражений).

  2. Если вы все сделали правильно, вы должны увидеть журналы лямбда в /greengrass/ggc/var/log/user///*.log

  3. В целях тестирования вы можете добавить некоторые журналы консоли в свои лямбда-выражения (при загрузке модуля, а не при вызове обработчика).

ура, баран

person Ram Grandhi    schedule 31.12.2019