AWS IoT-Lambda检查并通知素数

时间:2018-02-14 10:36:32

标签: aws-lambda amazon-sns aws-iot

作为AWS新手,我觉得这听起来很愚蠢,但可以帮助我理解平台的功能。我有一个简单的案例,我将随机数从网关设备(Rasp.Pi 3)推送到AWS IoT。我收到的主题是。 “消息”(随机数)和“序列”(数字序列)。

我现在正在尝试的是在传入主题中存在素数时获取SNS通知。我的问题:我在这里需要Lambda功能吗?如果是的话,它看起来怎么样?示例代码(Python)将是一个很好的帮助。

还有什么需要照顾的吗?

提前致谢。

1 个答案:

答案 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'
  )