如何修改后台 Cloud Function 的 Google Cloud Pub/Sub 订阅确认截止日期

Posted

技术标签:

【中文标题】如何修改后台 Cloud Function 的 Google Cloud Pub/Sub 订阅确认截止日期【英文标题】:How to modify Google Cloud Pub/Sub subscription acknowledgement deadline for background Cloud Function 【发布时间】:2019-07-27 07:54:42 【问题描述】:

通过以下方式为 Cloud Pub/Sub 部署后台 Cloud Functions 时:

gcloud functions deploy function_name --runtime python37 --trigger-topic some_topic

使用推送端点(可能是 App Engine 标准端点,但声称不需要推送端点)自动创建订阅 域验证https://cloud.google.com/pubsub/docs/push#other-endpoints)。

对于生成的订阅/端点,似乎没有办法注册/验证域 (https://www.google.com/webmasters/verification, https://console.cloud.google.com/apis/credentials/domainverification)

因此用户无法更改订阅,例如:

gcloud alpha pubsub subscriptions update some_subscription --ack-deadline=10

会产生类似“INVALID_ARGUMENT:提供的 HTTP URL 未在订阅的父项目中注册”的内容

通过 GCP 上的网络界面执行此操作也会产生错误:“pubsub error INVALID_ARGUMENT”

【问题讨论】:

【参考方案1】:

通过 Cloud Functions 连接到 Cloud Pub/Sub 主题时,系统会代表您创建订阅。此订阅由 Cloud Functions 管理,因此无法更新确认截止日期。

【讨论】:

嗨,Kamal,现在还是这样吗?我正在尝试更新我的 Cloud Function pubsub 订阅以使用 max-delivery-attempts。尝试使用 gcloud 进行此操作会得到与 @llompalles 类似的错误,但我能够通过 Web 控制台进行更改。如果这不是一个受支持的事情,我会想找到另一种方法! 我相信仍然如此,是的。我刚刚尝试过,即使在 Web 控制台中,仍然会出现相同的错误。我在页面底部看到“创建订阅时出错”消息。唯一可行的方法是,例如,如果我将交付类型更改为“拉”。然后,我可以更改其他属性,例如最大交付尝试次数。但是,将其更改为“Pull”将意味着消息将不再传递到 Cloud Function。 谢谢!计划 B 就是这样!

以上是关于如何修改后台 Cloud Function 的 Google Cloud Pub/Sub 订阅确认截止日期的主要内容,如果未能解决你的问题,请参考以下文章

通过 Python Google Cloud Function 发送电子邮件的最佳方式是啥?

如何从 Cloud Function 调用其他 Cloud Firebase Functions

如何通过 Cloud Build 访问 GSM 机密并传递给 Cloud Function

JavaScript如何对后台utf8编码的字符串解码?

如何在 Google Cloud Function 上的 Spring Cloud 函数中获取 Pub/Sub 事件的元数据

通过 API Key 访问 Google Cloud Function