使用 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/ 先介绍一些基本函数(具体用法自己查文档):---------- ...
随机推荐
- 爬取精美壁纸5w张,爱了爱了
近日接到一个需求--爬取某应用商店所有在线销售壁纸,这个任务起初让我惊呆了.因为上级没有给我解决风控问题,若爬取在售资源被人家厂商追责怎么办?若造成人家服务器出问题怎么办?问的时候上级含糊其辞,唉!其 ...
- JZOJ 1967.【2011集训队出题】聪聪可可
题目 [2011集训队出题]聪聪可可 思路 看看做做 阴阳 这道题 极力推荐 自从做了这道题后,这些题就变成秒切的题了 很容易想到求节点到分治中心的距离,然后 \(\bmod 3\) 那么在求根节点一 ...
- 免杀之:Python加载shellcode免杀
免杀之:Python加载shellcode免杀 目录 免杀之:Python加载shellcode免杀 1 Python 加载Shellcode免杀 使用Python可以做一些加密.混淆,但使用Pyth ...
- Cobalt Strike 之: Malleable C2 流量伪造与加密
郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. 目录 ...
- NodeJs设置全局缓存路径 和 安装CNPM
设置全局路径 下建立2个文件夹 如"node_global"及"node_cache" , npm config set prefix "D:\Pro ...
- C# .NET 发展史
C#发展到现在已经20年左右了,之前发展都是按照.NET Framework的版本发展,直到.NET Framework4.8结束.后来以.NET Core的版本发展,直到.NET Core3.1.3 ...
- slate源码解析(二)- 基本框架与数据模型
源码架构 首先来看下最核心的slate包下的目录: 可以看到,作为一个开源富文本库,其源码是相当之少.在第一篇文章中说过,Slate没有任何开箱即用的功能,只提供给开发者用于构建富文本所需的最基本的一 ...
- CRM管理系统界面
- ImGui窗口标题栏的高度
FontSize + FramePadding.y * 2 具体参考How to customize titlebar elements? · Issue #1539 · ocornut/imgui ...
- 【11】java之抽象类
一.抽象类基本概念 1.1 抽象类 抽象类:是指在普通类的结构里增加抽象方法的组成部分,抽象类要使用 abstract 声明. 抽象方法:没有方法体且必须使用 abstract 关键字进行定义. 拥有 ...