作为AWS新手,我觉得这听起来很愚蠢,但可以帮助我理解平台的功能。我有一个简单的案例,我将随机数从网关设备(Rasp.Pi 3)推送到AWS IoT。我收到的主题是。 “消息”(随机数)和“序列”(数字序列)。
我现在正在尝试的是在传入主题中存在素数时获取SNS通知。我的问题:我在这里需要Lambda功能吗?如果是的话,它看起来怎么样?示例代码(Python)将是一个很好的帮助。
还有什么需要照顾的吗?
提前致谢。
答案 0 :(得分:0)
您必须add a rule to AWS IoT,它从主题中获取消息,并在该规则中添加一个动作来调用Lambda函数。从IoT调用的lambda函数看起来像这样:
import json
import boto3
def lambda_handler(event, context):
#event has the message from iot (parse it anyway you need)
#use your algorithm to validate the event for a prime number
#publish to sns
sns_message = {"foo": "bar"}
client = boto3.client('sns')
response = client.publish(
TargetArn=arn,
Message=json.dumps({'default': json.dumps(sns_message)}),
MessageStructure='json'
)