如何处理AWS IoT事件

时间:2018-02-18 14:54:27

标签: amazon-web-services aws-iot

我最近注册了AWS以测试他们的物联网平台,在设置了一些东西并浏览了文档后,我似乎仍然缺少一些关键信息 - 如何从我的东西中纠缠所有信息?

例如,如果我要构建一个基于Web的应用程序来显示所有事物的健康/状态,并且还可能与特定事物进行交互,那么将采取什么方法呢?

我是否注册了一个“虚拟”的东西,它也使用设备SDK来发布/分配主题?
我是否将事物发布的任何数据都带到共享数据库中进行进一步处理? 我会创建事物调用的Lambdas吗? 我是否创建了一个独立的应用程序,它使用通用的AWS SDK将自己连接到物联网平台?

对我来说,最后一个想法听起来最可行和“首选”因为我需要双向互动,而不仅仅是被动地听取事物的变化,这是正确的吗?

1 个答案:

答案 0 :(得分:1)

一般来说,您的设置可能是:

  1. IoT设备发布到AWS SQS
  2. 某些服务(应用程序或lambda)从SQS读取并处理数据(例如将其保存到DynamoDB)
  3. 然后显示数据

    1. 独立应用程序从DynamoDB读取并向用户提供数据
    2. 这有很多排列。例如,您的物联网设备可以write directly to DynamoDB,然后您可以从那里处理数据。我建议更好的模式是写入SQS,因为您将在数据发布,处理和存储之间实现清晰的分离。

      在第一个实例中,我可能会编写一个从SQS读取的应用程序,处理数据,将其存储在DynamoDB中,然后为用户提供对该数据的访问。长期更好的解决方案是使用单独的系统来处理/存储数据,并将这些数据呈现给用户。

      Lambda非常适合处理设备数据,因为它具有成本效益(仅在需要时运行)并且可以很好地扩展。您的数据表示应用程序可能是运行在弹性beanstalk等上的传统Web应用程序。