如何从前端移动客户端发布到 Google Pub/Sub?

Posted

技术标签:

【中文标题】如何从前端移动客户端发布到 Google Pub/Sub?【英文标题】:How can I publish to Google Pub/Sub from frontend mobile clients? 【发布时间】:2021-02-22 19:28:30 【问题描述】:

让我的移动客户端直接将消息发布到 Pub/Sub 是否被认为是一种好的做法?

我希望将有关用户视图、点击和整体活动信息的主题直接发布到 Pub/Sub。流入的数据量非常大,所以我不想使用 Cloud Functions(调用次数会过大)或 Cloud Endpoints(不必要地用非常精细的活动数据淹没我的日志)。

但我一直在搜索 Google Cloud 的文档,但找不到从前端(网络、移动)客户端安全发布消息的任何方法。我可以通过提供一个简单的服务帐户密钥(仅具有发布角色)来解决此问题,但是将帐户密钥 json 文件嵌入客户端似乎是一种不好的做法?

类似问题的答案:Is it good practice to have a React Native app Publish directly to a Google Pub/Sub topic? 建议将 Pub/Sub 置于 Cloud Functions 之后,我认为这会为我正在传输的数据带来大量成本。

【问题讨论】:

如果您担心 Cloud Functions 的成本,您是否查看过数据成本?您可能专注于错误的问题。 【参考方案1】:

此解决方案文件是对您问题的相当全面的回答。当然还有其他的。

https://cloud.google.com/solutions/setting-up-a-pubsub-proxy-for-mobile-clients-on-gke

【讨论】:

这是一个完善的解决方案指南。但这意味着 Google 从未打算让客户直接将消息发布到 Pub/Sub,而是您需要中间的代理?

以上是关于如何从前端移动客户端发布到 Google Pub/Sub?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Google Cloud Monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量

如何从 Firebase Cloud Function 在 Google Pub/Sub 中发布消息?

从浏览器发布 Google Cloud Pub/Sub - 身份验证如何工作?

如何从 Google Pub/Sub 获取 objectId、bucketId 等

如何将客户端脚本调用移动到服务器? (Google云端硬盘电子表格Feed)

Google Pub/Sub - 将消息发布到主题后,未从本地函数中找到事件数据