我正在尝试从 DynamoDB 中的数据点亮连接到设备的 LED。问题是我能够连接并向该主题发出订阅请求,但没有收到任何数据。
- 我编写了一个 lambda 函数来从数据库中获取数据。
- 创建规则(主题(并附加 lambda 函数
- 在订阅策略中包含主题
- 使用 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( 或一些短暂的延迟。
您能否在此处共享控制台日志输出,以更好地了解您的问题?
干杯,
公羊