【问题标题】:Can I publish an event into Cloud Pub/Sub outside from GCP我可以从 GCP 将事件发布到 Cloud Pub/Sub 之外吗
【发布时间】:2020-09-07 12:27:52
【问题描述】:

我可以在 GCP 之外将事件发布到 Cloud Pub/Sub 吗?

让我澄清一下我的疑问。在 AWS 中,我们可以通过 API Gateway 从非云客户端 (https://github.com/cdk-patterns/serverless/blob/master/the-big-fan/README.md) 直接调用 REST API 将事件发布到 SNS 主题中,GCP 中有没有这样的方法可以将事件发布到 Pub/Sub 中?

我可以看到 SO (Acces Google Pub/Sub from outside of GCP) 中有一个类似的问题,但我相信它并没有完全回答我的问题。是的,需要身份验证,这是一个跨领域的功能,但是在 GCP 之外的 Pub/Sub 中发布事件的基本技术是什么

【问题讨论】:

  • 我认为您分享的帖子有一个非常简单的答案。为什么它没有完全回答你的问题?您需要以某种方式对服务帐户或 PKI 进行身份验证,例如谷歌物联网核心。如果您在 google iot core 中使用 pki 注册了设备,则可以使用事件主题向其发布。
  • 您想要对您的主题进行未经身份验证的访问吗?
  • 不,我不希望未经身份验证访问该主题,而是希望将主题与某些 API Gateway 类型的组件集成,并通过 API Gateway 自己公开一些 REST API。 API Gateway 将负责使用 API Key 或使用某些身份提供者/代理进行用户身份验证。 API Gateway 与主题之间的通信将通过服务帐户进行身份验证。我可以在 GCP 中实现这个设计吗?

标签: google-cloud-platform publish-subscribe google-cloud-pubsub


【解决方案1】:

是的,您可以将消息publish 放入主题,然后pull it,甚至让 PubSub 通过Push subscription 将其发送给您。

发布消息或从订阅者拉取消息时,您可以通过RESTRPC API 访问PubSub。此外,您可以使用client libraries 之一。

Here 您可以找到如何使用gcloud CLI 工具发布消息的示例,以及使用REST APIpythonjava 以及其他编程语言的示例。

如引用的问题中所述,您需要进行身份验证才能发布消息或提取消息。您可以使用quickstart 作为参考,了解如何操作。请注意,您可以从 GCP 之外的任何计算机或虚拟机上遵循快速入门。

最后,如果您使用推送订阅来接收您的消息,您的端点将需要是一个可公开访问的 HTTPS 地址,并具有由证书颁发机构签署的有效 SSL 证书。同样,此端点可以存在于 GCP 之外。

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2022-01-13
    • 2022-01-01
    • 1970-01-01
    • 2022-08-17
    • 2016-01-20
    • 1970-01-01
    • 2021-08-22
    • 2019-11-03
    相关资源
    最近更新 更多