热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将EMQXCloud数据通过公网桥接到AWSIoT

在物联网业务场景中,往往涉及对海量物联设备产生数据的实时提取、过滤、分拆、转换等。EMQ推出的全托管云原生MQTT消息服务EMQXCloud提供了高性能的内置数据集成功能,可以帮助

在物联网业务场景中,往往涉及对海量物联设备产生数据的实时提取、过滤、分拆、转换等。EMQ 推出的全托管云原生 MQTT 消息服务 EMQX Cloud 提供了高性能的内置数据集成功能,可以帮助用户实现与各种云服务(如 Kafka、MongoDB、AWS RDS、AWS DocumentDB、 AWS IoT 等)的连接,将物联网数据根据需求转存到各类第三方数据库、消息队列、数据系统中,从而简化物联网应用开发,加速业务交付。

本文将介绍如何使用 EMQX Cloud 数据集成功能通过公网桥接数据到 AWS IoT,从而借助 AWS IoT 轻松使用 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和内置 Kibana 集成的 Amazon Elasticsearch Service 等 AWS 服务构建 IoT 应用程序。无需管理任何基础设施,即可实现对互连设备生成数据的收集、处理和分析等相关操作。


AWS IoT 简介


什么是 AWS IoT

Amazon IoT Core 是一种托管的云平台,让互联设备可以轻松安全地与云应用程序和其他设备交互。Amazon IoT 可以支持数十亿台设备和数万亿条消息,并能处理这些消息并将其安全可靠地路由至亚马逊云科技终端节点和其他设备。借助 Amazon IoT,您的应用程序可以随时跟踪您的所有设备并与其通信,即使这些设备未处于连接状态也不例外。

AWS IoT


AWS IoT 平台的优势

(1)广泛而深入:AWS 拥有从边缘到云端的广泛而深入的 IoT 服务,提供本地数据收集和分析能力以及云上专为 IoT 设计的数据管理和丰富分析集成服务。

(2)多层安全性:包括预防性安全机制(如设备数据的加密和访问控制)、持续监控和审核安全配置等。

(3)卓越的 AI 集成:AWS 将 AI 和 IoT 结合在一起,使设备更为智能化。支持多种机器学习框架。

(4)大规模得到验证:AWS IoT 构建于可扩展、安全且经过验证的云基础设施之上,可扩展到数十亿种不同的设备和数万亿条消息。


使用 EMQX Cloud 桥接数据到 AWS IoT


开通 NAT 网关

在 EMQX Cloud 部署详情页面,开通增值服务 --- NAT 网关,便于公网访问到 AWS IoT。

EMQX Cloud 开通 NET 网关


配置 AWS IoT



  1. 创建事务

    进入 AWS IoT 控制面板,找到管理-事务,点击创建事务,即可创建一个名为 emqx 的事务。

    AWS IoT 创建事务



  2. 创建并下载证书

    在创建好事务以后,可直接创建一个证书。

    AWS IoT 创建并下载证书

    证书创建完成以后,需要在该页面下载证书,用于设备连接时的双向认证。

    AWS IoT 下载证书



  3. 创建策略并关联到证书

    找到安全-策略,创建名为 emqx-bridge 的策略,编写策略,相关配置如下。

    创建策略

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": "iot:Connect",
    "Resource": "arn:aws:iot:us-east-1:845523974165:client/emqx-bridge_*"
    },
    {
    "Effect": "Allow",
    "Action": "iot:Publish",
    "Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
    },
    {
    "Effect": "Allow",
    "Action": "iot:Receive",
    "Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
    },
    {
    "Effect": "Allow",
    "Action": "iot:RetainPublish",
    "Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
    },
    {
    "Effect": "Allow",
    "Action": "iot:Subscribe",
    "Resource": "arn:aws:iot:us-east-1:845523974165:topicfilter/emqx/bridge"
    }
    ]
    }

    完成策略创建以后,需要关联到前一步创建好的证书。

    关联到证书



  4. 获取 AWS IoT 的公网连接地址

    在设置获取到连接地址 endpoint,用于设备连接。

    获取 AWS IoT 的公网连接地址




配置 EMQX Cloud 数据集成

进入 EMQX Cloud 的部署页面,点击数据集成 - MQTT Bridge。

配置 EMQX Cloud 数据集成

在资源页面填写 AWS IoT 的资源详细信息。

填写 AWS IoT 的资源详细信息

确认资源可用以后,进行规则配置,筛选并处理数据。

规则配置

配置好规则以后,需要配置响应动作,即桥接数据到 AWS IoT。

配置响应动作

在完成创建资源 - 添加规则 - 添加动作以后,可在详情页面查看相关信息。

查看详情

查看已创建的规则,点击监控,可查看到目前桥接成功监控次数为 0,即初始化状态。

查看桥接成功监控次数


测试验证



  1. 使用 Python SDK 连接到 EMQX Cloud 部署,向主题 emqx/bridge 发送消息。

    向主题 emqx bridge 发送消息



  2. 使用 MQTTX 连接到 AWS IoT,订阅 emqx/bridge,可以接收到来自 EMQX Cloud 部署的消息。

    使用 MQTTX 连接到 AWS IoT

    使用 MQTTX 连接到 AWS IoT1



  3. 在 EMQX Cloud console 查看规则监控,可以检查桥接数据到 AWS IoT 成功与否。

    查看规则监控




结语

至此,我们完成了使用 EMQX Cloud 数据集成功能通过公网桥接数据到 AWS IoT 的全部流程。EMQX Cloud 灵活的数据集成功能,结合 AWS IoT 丰富的应用生态,用户在数分钟内即可创建一款物联网应用。


版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/bridging-emqx-cloud-data-to-aws-iot-over-the-public-network




推荐阅读
  • ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
    本章节深入探讨了ZeroMQ在云计算环境中的高效消息传递机制,涵盖客户端请求-响应模式、最近最少使用(LRU)队列、心跳检测、面向服务的队列、基于磁盘的离线队列以及主从备份服务等关键技术。此外,还介绍了无中间件的请求-响应架构,强调了这些技术在提升系统性能和可靠性方面的应用价值。个人理解方面,ZeroMQ通过这些机制有效解决了分布式系统中常见的通信延迟和数据一致性问题。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 掌握 MongoDB 基础操作与实用技巧 ... [详细]
  • POJ3669题目解析:基于广度优先搜索的详细解答
    POJ3669(http://poj.org/problem?id=3669)是一道典型的广度优先搜索(BFS)问题。由于陨石的降落具有时间属性,导致地图状态会随时间动态变化。因此,可以利用结构体来记录每个陨石的降落时间和位置,从而有效地进行状态更新和路径搜索。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 成功实现Asp.Net MVC3网站与MongoDB数据库的高效集成
    我们成功地构建了一个基于Asp.NET MVC3框架的网站,并实现了与MongoDB数据库的高效集成。此次更新不仅完善了基本的创建和显示功能,还全面实现了数据的增删改查操作。在创建功能方面,我们修复了之前代码中的错误,确保每个属性都能正确生成。此外,我们还对数据模型进行了优化,以提高系统的性能和稳定性。 ... [详细]
  • 在使用关系型数据库时,通常需要通过用户名和密码进行身份验证才能访问数据。然而,MongoDB默认情况下并不强制要求这种身份验证机制,使得用户无需凭据即可访问并执行各种操作。虽然这一设计简化了初学者的上手过程,但也带来了显著的安全风险。为了提升MongoDB的连接安全性,本文将探讨多种策略与实践,包括启用身份验证、配置网络访问控制、加密通信以及定期审计安全设置,以确保数据库的安全性和数据的完整性。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 在RabbitMQ中,消息发布者默认情况下不会接收到关于消息在Broker中状态的反馈,这可能导致消息丢失的问题。为了确保消息的可靠传输与投递,可以采用确认机制(如发布确认和事务模式)来验证消息是否成功抵达Broker,并采取相应的重试策略以提高系统的可靠性。此外,还可以配置消息持久化和镜像队列等高级功能,进一步增强消息的可靠性和高可用性。 ... [详细]
  • 本课程首先介绍了全栈开发的最后一公里为何重要,并详细探讨了搭建线上生产环境的关键步骤。随后,通过五个本地Node.js项目的实战演练,逐步展示了从快速构建纯静态简易站点到复杂应用的全过程,涵盖了环境配置、代码优化、性能调优等多方面内容。 ... [详细]
  • SpringBoot非官方教程|终章:文章汇总springboot非官方教程,可能最接近于官方的一个教程,大多数案例都来自于官方文档,为了更好的理解,加入了个人的改造。码云下载:htt ... [详细]
author-avatar
莫名其妙520a_416
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有