AWS MQTT Publish from AWS lAMBDA to device



我正在尝试从 DynamoDB 中的数据点亮连接到设备的 LED。问题是我能够连接并向该主题发出订阅请求,但没有收到任何数据。

  1. 我编写了一个 lambda 函数来从数据库中获取数据。
  2. 创建规则(主题(并附加 lambda 函数
  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("--------------nn")

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

伙计们,我得到了发布数据的解决方案,但遇到了另一个问题,发布方法仅发布到另一个主题,但我希望它发布到设备。

建议在 .subscribe(..( 调用后包含 time.sleep(0.005( 或一些短暂的延迟。

您能否在此处共享控制台日志输出,以更好地了解您的问题?

干杯,
公羊

最新更新