AWS MQTT Публикация из AWS lAMBDA на устройстве - PullRequest
0 голосов
/ 11 декабря 2019

Я пытаюсь зажечь светодиод, подключенный к устройству, по данным в DynamoDB. Проблема в том, что я могу подключиться и дать запрос на подписку на тему, но не получаю никаких данных.

  1. Я написал лямбда-функцию для извлечения данных из базы данных.
  2. Создано правило (Тема) и присоединена лямбда-функция
  3. Включено ТЕМА в политику подписки
  4. Использование AWSIoTPythonSDK Я создал клиента на устройстве с использованием сертификатов
// Code works 
// I have given only the part of code from lambda function
// It fetches data from DB
import json
import boto3

def get_multiple_items():
    return table.scan()


def lambda_handler(event, context):
    # TODO implement
    return {
        'statusCode': 200,
        'payload': json.dumps(get_multiple_items()),
        'event':event
    }

// Code from Device
def customCallback(client, userdata, message):
    print("Received a new message: ")
    print(message.payload)
    print("from topic: ")
    print(message.topic)
    print("--------------\n\n")


print("Subscribing Data")

// It is not calling the customCallback function
myClient.subscribe(topic,1,customCallback)
print("Subscribed Data")



Ответы [ 2 ]

0 голосов
/ 31 декабря 2019

Рекомендуется включать time.sleep (0,005) или небольшую задержку после вызова .subscribe (..).

Можете ли вы поделиться выводом журнала консоли здесь, чтобы лучше понять вашу проблему?

ура,
ram

0 голосов
/ 11 декабря 2019

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

...