设置Lambda函数(python),从IoT设备接收数据并将其发送到Appsync,从而使数据可从移动应用程序访问

2024-04-23 20:08:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我是AWS世界的新手,我需要一个帮助来了解如何通过订阅的Android应用程序实时查看物联网设备发送的数据

我能够通过Android应用程序上传amplify的数据,并通过另一部订阅的Android智能手机实时检索相同的数据

我还能够创建一个Lambda函数(python3.8),该函数订阅从IoT设备接收的MQTT消息,并将该数据添加到DynamoDB表的列中。 例如,如果我的物联网设备发送一个MQTT数据包,其有效负载如下:

{
  "device_id": "1234",
  "sample_time": "1619339766869",
  "pippo": "111",
  "pluto": "222"
}

我的lambda函数是:

import json
import boto3


def lambda_handler(event, context):
    client = boto3.client("dynamodb")
    
    response = client.put_item(
        TableName = 'MyTableName',
        
        Item  = {
                'myid':{'S':event['device_id']},
                'sample_time':{'N':event['sample_time']},
                'pippo':{'S':event['pippo']},
                'pluto':{'S':event['pluto']} 
                }
    )
    return 0

在我的dynamoDB表中出现一个新项目,数据列如下:

myid:1234    sample_time:1619339766869        pippo:111      pluto:222

通过这种方式,我无法使用Android应用程序(java,Android SDK)订阅该数据,以查看该数据的实时更新

我知道我需要创建一个lambda函数,将数据发送到连接到Android应用程序的AppSync服务。 要做到这一点,我必须遵循哪些步骤

如何在python中创建Lambda函数,将数据发送到与Android应用程序同步的AppSync服务,这样我就可以通过Android应用程序实时订阅物联网设备发送的数据


Tags: 数据samplelambda函数clienteventid应用程序