【问题标题】:How to publish to a GCP PubSub topic from inside a Cloudflare worker如何从 Cloudflare 工作人员内部发布到 GCP PubSub 主题
【发布时间】:2020-01-21 01:20:00
【问题描述】:

是否可以通过基本 HTTP 请求发布到 GCP PubSub 主题?我有一个 Cloudflare 工作人员,我想从中直接发布到某个主题。我最初尝试捆绑 NodeJS 模块,但由于服务器工作环境中不可用的依赖项(特别是 tls),无法构建 webpack(通过 wrangler)。

PubSub API 似乎不支持 API 密钥,我终其一生都找不到使用服务帐户的方法使用 SDK。

【问题讨论】:

    标签: javascript google-cloud-pubsub cloudflare-workers


    【解决方案1】:

    有点。有publish method that uses REST,但需要OAuth2.0授权。我不确定您是否会遇到与使用 NodeJS 客户端库相同的问题,但如果是这样,您将不得不使用公开 HTTP 端点的中间服务(即 Cloud Functions/Compute Engine/App Engine) 可以为您进行身份验证。

    有关使用 OAuth2.0 的更多信息,请在此处查看此链接:https://cloud.google.com/pubsub/docs/authentication#user-accounts

    【讨论】:

    • 谢谢,亚历克斯。您知道它是否需要您不断刷新令牌,或者我可以创建一个永久 OAuth 令牌以无限期使用吗?我宁愿不创建中间 Web 服务,因为那样会违背让主题开始的目的。 AWS 的 SNS 似乎允许您签署请求并通过 HTTP 发出请求。 PubSub 没有类似的东西吗?
    • 我相信所有的访问令牌都有一个过期日期,因此您需要通过刷新令牌检索新的访问令牌。要回答您的其他问题,不幸的是,唯一受支持的其他方法是使用您已经尝试过的服务帐户进行身份验证。
    • 为了进一步澄清,我们确实有一个较旧的基于 HTTP 的客户端库,它使用 c discovery docs 发出请求,但这仍然取决于 google-auth-library,它很可能仍然无法工作,因为它需要 TLS。我认为 OAauth2 方式是与 Cloudflare Workers 一起使用的唯一方式。您还可以考虑用 Cloud Functions 替换 Cloudflare Workers(它提供类似的无服务器按执行付费环境)
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2021-02-16
    • 2019-05-10
    • 2019-06-20
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多