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 请求发布