![](/img/trans.png)
[英]Handling nested JSON messages with AWS IoT Core rules and AWS Lambda
[英]How to interface AWS API Gateway (handling REST calls) with AWS IoT core
这种架构是最佳实践吗?
这种架构很有意义,类似于 AWS 的 Well Architected IOT Lens。 根据您的流量,最好先将数据摄取到 firehose,然后再聚合到 DDB。 https://docs.aws.amazon.com/wellarchitected/latest/iot-lens/welcome.html
我如何实际将 API 网关与 IoT 核心接口? 我知道有 lambda,但正如您在这里看到的那样,网关和 IoT 核心之间没有 lambda 连接,所以我在这里很迷茫。
有两种处理这种交互的方法
一种。 Model 请求和响应作为主题
设备调用: cmd/application/getSomething/deviceId/req
服务发布: cmd/application/getSomething/deviceId/res
由于您没有 MQTT 支持,我认为这行不通。
b. 使用 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/
我建议使用AWS IoT HTTPS 端点,而不是提供您自己的 API 网关。
https://<iot-endpoint>/topics
iot-endpoint与您在 MQTT 中使用的相同,但现在使用 HTTPS 协议。
协议 | 支持的操作 | 验证 | 港口 | ALPN 协议名称 |
---|---|---|---|---|
HTTPS | 仅发布 | 签名版本 4 | 443 | 不适用 |
HTTPS | 仅发布 | X.509 客户端证书 | 443† | x-amzn-http-ca |
HTTPS | 仅发布 | X.509 客户端证书 | 8443 | 不适用 |
HTTPS | 仅发布 | 自定义认证 | 443 | 不适用 |
†使用 X.509 客户端证书身份验证连接到端口 443 的客户端必须实施应用层协议协商 (ALPN) TLS 扩展,并使用客户端发送的 ALPN ProtocolNameList 中列出的ALPN 协议名称作为ClientHello
消息的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.