amazon-web-services - 如何将 AWS API Gateway(处理 REST 调用)与 AWS IoT 核心接口
问题描述
我需要通过 AWS API 网关(不支持 MQTT)连接一些传感器,并且我想使用 AWS IoT Core 服务提供的规则,以便在 DynamoDB 中插入新设备、存储数据等......系统的通用架构将是这样的。
问题:
- 这种架构是最佳实践吗?
- 我如何实际将 API 网关与 IoT 核心接口?我知道有 lambda,但正如您在此处看到的,网关和 IoT 核心之间没有 lambda 连接,所以我很迷失在这里。
解决方案
这种架构是最佳实践吗?
这种架构很有意义,类似于 AWS 的 Well Architected IOT Lens。根据您的流量,最好先将数据摄取到 firehose,然后聚合到 DDB。 https://docs.aws.amazon.com/wellarchitected/latest/iot-lens/welcome.html
我如何实际将 API 网关与 IoT 核心接口?我知道有 lambda,但正如您在此处看到的,网关和 IoT 核心之间没有 lambda 连接,所以我很迷失在这里。
有两种处理这种交互
的方法。将请求和响应建模为主题
设备调用:cmd/application/getSomething/deviceId/req
服务发布:cmd/application/getSomething/deviceId/res
由于您没有 MQTT 支持,我认为这不会起作用。
湾。使用 AWS IOT 承担角色功能。在这里,您将设置一个有权访问受 IAM 保护的 ApiGW 的角色。您将担任该角色,然后像往常一样调用 ApiGW。https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html
或者,您可以探索 ApiGW 的双向 TLS,并使用设备证书对 ApiGW 进行身份验证。
https://aws.amazon.com/blogs/compute/introducing-mutual-tls-authentication-for-amazon-api-gateway/
推荐阅读
- go - gorequest 包:专门检查超时
- javascript - 我如何通过 JavaScript 和 jQuery 在 word 文档的标题中插入图像
- php - PHP 5 到 PHP 7 的迁移
- javascript - 在 redux 中获取 api 的最佳方法是什么?
- javascript - 为什么我的 React Text 组件没有显示文本?(反应 360)
- odoo-10 - 如何在odoo10中使库存经理的字段不可见
- c++ - 我们可以将阈值应用于颜色空间模型的单个组件,如 RGB 和 LAB 吗?
- google-bigquery - BigQuery:在自动化作业中询问的凭据
- perl - ne nice editor syntax highlighting - Perl 变量未突出显示
- getuikit - UIKit 2 (getuikit) - 灯箱 - 触控设备上的上一个/下一个