Google Cloud Pub/Sub,使用 HTTP PUSH 请求发布

Posted

技术标签:

【中文标题】Google Cloud Pub/Sub,使用 HTTP PUSH 请求发布【英文标题】:Google Cloud Pub/Sub, publishing with a HTTP PUSH request 【发布时间】:2018-06-13 00:29:44 【问题描述】:

我正在尝试使用谷歌云发布/订阅功能来存储来自物联网设备的传入数据。我有一个事件回调,它应该从 IOT 设备的后端向 pub/sub 主题发送一个 JSON 字符串。回调看起来像这样(其中 project、topic 和 YOUR_API_KEY 按要求填写:

POST https://pubsub.googleapis.com/v1/projects/project/topics/topic:publish?key=YOUR_API_KEY

"messages":["data":"test"]

我总是在此设置中收到错误 403。我已经尝试了各种细微的变化,并发现了其他错误。我对这个话题很陌生,我犯了一个明显的错误吗?

【问题讨论】:

【参考方案1】:

API 密钥不足以对 Google Cloud Pub/Sub API 进行身份验证。只有一部分 GCP 服务允许仅使用 API 密钥进行访问,详见 Using API Keys documentation。您将需要使用 service account 进行身份验证以使用 Cloud Pub/Sub。您可能还想考虑Google Cloud IoT,它将遥测数据发送到 Cloud Pub/Sub。

【讨论】:

本文档明确给出了使用 API 密钥更改 pubsub 主题策略的示例:cloud.google.com/pubsub/docs/access-control 文档明确指出不支持 API 密钥:cloud.google.com/pubsub/docs/authentication#more-information。也许这些例子需要更新。

以上是关于Google Cloud Pub/Sub,使用 HTTP PUSH 请求发布的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google Cloud Pub/Sub 进行 Junit 测试

Google Cloud Pub/Sub - Cloud Function & Bigquery - 数据插入未发生

Google Cloud Pub/Sub,使用 HTTP PUSH 请求发布

Google Cloud Pub/Sub 确认

访问 Google Cloud Storage 触发事件“Pub/Sub”?

javascript Google Cloud函数用于在pub / sub和pub / sub到Big查询中发布数据