使用 EMQX Cloud 桥接数据到 GCP Pub/Sub
前不久,Google 宣布其旗下的 GCP IoT Core 即将在 2023 年 8 月 16 日停止提供服务。这意味着大量使用 GCP IoT Core 的用户可能需要将他们的 IoT 应用迁移到其他物联网云服务。除了云服务的迁移,很多用户也在直接利用谷歌云生态,使用 GCP 上丰富的数据服务来处理物联网数据。
作为和 GCP IoT Core 一样基于 MQTT 的全托管消息云服务,EMQX Cloud 支持部署在 GCP 多个区域,是替代 IoT Core 的理想选择。此外,EMQX Cloud 新增的 GCP Pub/Sub 数据桥接支持,可以帮助用户轻松无缝连接之前在 GCP 其他数据服务中创建的物联网应用,快速完成迁移且不影响现有业务。
GCP Pub/Sub 介绍
GCP Pub/Sub 是 Google Cloud Platform (GCP) 中的一项消息传递服务,可以让用户在应用程序之间进行实时数据流传递。它提供了丰富的 API,用户可通过各种语言对消息进行发布和订阅。此外,GCP Pub/Sub 还提供了丰富的数据处理工具,帮助用户对接收到的消息进行复杂的处理和分析。
充分利用 GCP 的大数据能力
GCP Pub/Sub 提供了丰富的数据处理服务,EMQX Cloud 支持数据桥接到 GCP Pub/Sub 后,用户就可以利用 GCP 的大数据分析能力,对物联网设备的数据进行更深入的分析,为物联网应用提供更为丰富的信息支持。同时,之前使用 GCP IoT Core 的用户,很有可能已经在 GCP 的数据处理服务中建立了完整的应用,那么此时更换云平台,只需建立数据连接,就可以使用之前创建的服务。
更强的数据处理能力
GCP Pub/Sub 提供了丰富的 API,用户可以通过编程方式对数据进行更精细的控制,实现更复杂的数据处理。
为出海用户提供更多便利
使用 EMQX Cloud,您可以得到最高 7*24 来自 EMQX Cloud 技术支持工程师的帮助,相较于和 GCP 海外的工作人员使用邮件沟通,效率会大大提升。并且 EMQX Cloud 提供了丰富的帮助文档和教学视频,助您轻松上手使用。
支持数据桥接到 GCP pub/sub 后,EMQX Cloud 可以为用户提供更为丰富的数据集成能力,让物联网应用更好地与 GCP 平台集成,为之前使用 GCP IoT Core 相关服务的物联网出海用户提供了极大的便利。
更多关于 Pub/Sub 的信息及使用方式,可以参考:用于应用和数据集成的 Pub/Sub | Google Cloud
如何使用数据集成功能桥接数据到 GCP Pub/Sub
如您需要使用 GCP Pub/Sub 服务,请访问 EMQX Cloud 海外站点注册账号使用,并且推荐您选择 GCP 平台创建部署。
创建 GCP 平台的专业版部署
选择云平台为 GCP,并按需选择规格,创建部署。
配置 GCP Pub/Sub
访问 GCP Pub/Sub 控制台,创建一个新的 topic。在此我们设置 Topic ID 为 my-topic。
配置数据集成桥接数据到 GCP Pub/Sub
1.访问 EMQX Cloud 控制台,在 Data Integration 页面中选择 GCP PubSub。
2.填写 Service Account JSON 和其他信息,并测试是否资源可用。
您可以在 GCP 控制台中,通过如下操作创建 Service Account JSON
选择 appropriate project - IAM & Admin - Service Accounts - Email, 点击 KEYS,生成一个用于身份验证的 JSON 文件。
3.编写 SQL 规则并添加相关动作。
在此提供一段示例,您可以使用以下 SQL 语句创建新规则
SELECT
timestamp as up_timestamp,
clientid as client_id,
payload.temp as temp,
payload.hum as hum
FROM
"temp_hum/emqx"
测试规则是否成立。填写测试用 payload、topic 和 client 信息,点击 SQL Test 进行测试。
添加动作。在此我们使用上述创建的 GCP Pub/Sub topic 和信息模版。
# GCP Pub/Sub message template
{"up_timestamp": ${up_timestamp}, "client_id": ${client_id}, "temp": ${temp}, "hum": ${hum}}
将动作绑定到规则上后,点击 View details 可查看刚才创建的 SQL 语句规则和动作。
4.使用 MQTT X 进行消息收发测试。
您需要替换 broker.emqx.io
为您创建的部署的连接地址(可以在 Deployment Overview 页面找到),并添加设备认证信息。
测试结果如下,您也可以在 EMQX Cloud 控制台和 GCP 控制台看到相应的消息处理和数据转发情况。
在 EMQX Cloud 创建规则的监控页面看到数据转发成功。
在 GCP Pub/Sub 控制台看到消息转发结果。
更多操作步骤及注意点,可参考:帮助文档。
版权声明: 本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/bridge-data-to-gcp-pub-sub
使用 EMQX Cloud 桥接数据到 GCP Pub/Sub的更多相关文章
- 整合Spring Cloud Stream Binder与GCP Pubsub进行消息发送与接收
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 之前的文章<整合Spring Cloud Stream Binder与RabbitMQ进行消息发送与接收& ...
- 如何取消 Google Cloud Platform 试用 & 关闭 GCP 帐号 & 删除信用卡 & 取消订阅
如何取消 Google Cloud Platform 试用 & 关闭 GCP 帐号 & 删除信用卡 & 取消订阅 关闭您的 Google Cloud Platform 帐号 s ...
- K3 Cloud的数据中心加载异常处理
以前一直是财务维护的K3 Cloud突然说不能登录,用的SQL 2008的数据库,运维也搞不定,找帮忙,因为是部署在阿里云上,上去看看数据库,这个K3数据库占了600多G,想看看这个表结构,就是打不 ...
- Dark Side of Cloud Storage —— 数据对像的分块消重
数据对像(可以通俗地认为是文件)的分块存储具有久远的历史.长久以来,单机文件系统一直将文件切分为若干固定大小的小块.其主要目的是为了进行有效的空间管理.互联网时代,大规模数据存储逐步发展起来.出于降低 ...
- 二、K3 Cloud 开发插件《K3 Cloud 常用数据表整理》
一.数据库查询常用表 --查询数据表select * from ( ),t1.FKERNELXML.query('//TableName')) as 'Item',t1.FKERNELXML,t2.F ...
- GCP消息队列Pubsub详解,简单好用还不用自己运维
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 GCP的Pubsub是一种异步消息传递服务,可将生产事件的服务与处理事件的服务隔离开.消息队列的作用就不多作介绍 ...
- Java Client for Google Cloud Storage
关于Google Cloud Storage Google Cloud Storage有益于大文件的存储与服务(serve).此外,Cloud Storage提供了对访问控制列表(ACLs)的使用,提 ...
- 使用Google Cloud Platform构建机器学习项目-宠物识别
宠物识别我们使用到了tensorflow object-detection API (https://github.com/tensorflow/models/tree/master/researc ...
- 【慕课网实战】九、以慕课网日志分析为例 进入大数据 Spark SQL 的世界
即席查询普通查询 Load Data1) RDD DataFrame/Dataset2) Local Cloud(HDFS/S3) 将数据加载成RDDval masterLog = sc.textFi ...
- [Unity3D]场景间切换与数据传递(以及物体删除技巧)
http://blog.163.com/kingmax_res/blog/static/77282442201031712216508/ 先介绍一些基本函数(具体用法自己查文档):---------- ...
随机推荐
- 题解 Trie 但是你要最小化它的节点数量
名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...
- Canvas:绘制曲线
前言 画曲线要用到二次贝塞尔曲线或三次贝塞尔曲线.贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如 PhotoShop. 二次贝塞尔曲线 二次贝塞尔曲线在 ...
- vue中h函数的使用
1. h() 函数是一个用于创建 vnode,其实在vue中是createVNode 函数的简写 h()函数接受三个参数 参数1. 标签名或组件 参数2. 标签的属性或事件 参数3. 内容使用: // ...
- ABAP PDF 打印
SPAN { font-family: "Courier New"; font-size: 10pt; color: rgba(0, 0, 0, 1); background: r ...
- elasticsearch 安装与配置
一.JAVA 与 elasticsearch 的版本对应 个人实测能够对应起来的版本: elasticsearch-rtf-2.2.1 需要 JDK7 或更低的版本,推荐使用 7 elasticsea ...
- How to Use Arrays and Vectors
array it needs a constant value const int seq_size = 18; int pell_seql[seql_size]; //defined a const ...
- Java面向对象之封装详解
封装详解 封装 该露的露,该藏的藏 1.我们程序设计要追求"高内聚.低耦合".高内聚:类的内部数据操作细节自己完成,不允许外部干涉:低耦合:仅暴露少量的方法给外部使用. 封装(数据 ...
- SAP BW/4HANA学习笔记2
2.Data Modeling BW/4HANA Data Modeling简介 Data Quality:数据质量问题: silos(桶仓):大量重复冗余的主数据,独立计算统计: 数据silos缺点 ...
- wampServer本地php环境配置笔记
红色的为关键步骤,其余可以不看. 一:安装时 , 报 : 1.应用程序无法正常启动0xc0000007b 清单机确定关闭应用程序 : 2. 缺少XXX.dll文件 解决方法都是: C:\Windows ...
- 如何在Axure RP 8.0 中打开页面指定的动态面板
有时在制作原型的时候,需要打开另一个页面指定的动态面板,研究了一下分享给大家 方法/步骤 1.打开Axure RP 8.0,在index面面中拖出来一个按钮,写上文字"打开page1/sta ...