gcp pub/sub 使用密钥推送端点
gcp pub/sub push endpoint with key
我正在尝试将日志从 gcp 路由到 pub/sub,但是我需要将日志发送到的端点需要 JSON header 中的许可证密钥 body 以访问 POST 请求。我怎样才能将 header 添加到 JSON body 并使用日志进行路由?或者如何将此密钥添加到推送端点屏幕?
此回答由@John Hanley 在评论区提供:
Subscriptions do not add data. Subscription direct how messages are
delivered to subscribers. You will need to add your custom headers in
the data being sent to Pub/Sub messages. For details on what you can
do, read this link.
目前无法在 pub/sub 推送订阅中包含自定义(授权)headers。 (1) 您可以使用 GCP 中的端点将您的 pub/sub 消息发送到,这使用 GCP 作为身份验证提供程序。 (2) 另一个选项(完全不推荐)是在 url 中使用 API 密钥并将其发送到您选择的端点。
(1) 您可以使用其他 GCP 服务,例如云功能或云 运行 转发 pub/sub 消息。使用适当的 headers 创建一个新请求并将消息传递到另一个端点。这种方法的缺点是计算成本可能会失控,因为每次通过一条消息时都会启动云函数或云 运行 实例。
可以考虑用Golang写一个云函数来提高速度。另一方面,云构建每个实例最多可以处理 80 个并发请求。有人
(2) 虽然我仍然经常看到它,但使用 API 键是不好的做法。 API 密钥没有过期时间,因此当它们被盗时,有人可以无限期地访问您的 API。这就是为什么 Bearer 代币的生命周期有限。
这两个选项都不是完美的,但我会在 Golang 中编写一个占用空间小的云函数来将消息传递到您选择的端点。
我正在尝试将日志从 gcp 路由到 pub/sub,但是我需要将日志发送到的端点需要 JSON header 中的许可证密钥 body 以访问 POST 请求。我怎样才能将 header 添加到 JSON body 并使用日志进行路由?或者如何将此密钥添加到推送端点屏幕?
此回答由@John Hanley 在评论区提供:
Subscriptions do not add data. Subscription direct how messages are delivered to subscribers. You will need to add your custom headers in the data being sent to Pub/Sub messages. For details on what you can do, read this link.
目前无法在 pub/sub 推送订阅中包含自定义(授权)headers。 (1) 您可以使用 GCP 中的端点将您的 pub/sub 消息发送到,这使用 GCP 作为身份验证提供程序。 (2) 另一个选项(完全不推荐)是在 url 中使用 API 密钥并将其发送到您选择的端点。
(1) 您可以使用其他 GCP 服务,例如云功能或云 运行 转发 pub/sub 消息。使用适当的 headers 创建一个新请求并将消息传递到另一个端点。这种方法的缺点是计算成本可能会失控,因为每次通过一条消息时都会启动云函数或云 运行 实例。
可以考虑用Golang写一个云函数来提高速度。另一方面,云构建每个实例最多可以处理 80 个并发请求。有人
(2) 虽然我仍然经常看到它,但使用 API 键是不好的做法。 API 密钥没有过期时间,因此当它们被盗时,有人可以无限期地访问您的 API。这就是为什么 Bearer 代币的生命周期有限。
这两个选项都不是完美的,但我会在 Golang 中编写一个占用空间小的云函数来将消息传递到您选择的端点。