Google Cloud Functions + Endpoints via ESPv2:超时问题

Google Cloud Functions + Endpoints via ESPv2: Problem with timeout

我有各种云功能,可通过 Google 云功能端点访问。我或多或少地遵循了这个指南:https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions. This sets up an ESPv2 Google Cloud 运行 中的实例。到目前为止它正在工作。

一个长 运行 云函数出现问题。如果请求运行超过大约。 30秒,终止。 API 然后 returns 一个 504 错误代码。

云 运行 日志显示以下条目:

The request has been terminated because it has reached the maximum request timeout. To change this limit, see https://cloud.google.com/run/docs/configuring/request-timeout

参考文档解释了如何配置云 运行 服务超时。我已经有一个更高的超时:

spec:
  timeoutSeconds: 900

函数本身完成且没有错误。所以我想问题一定出在 Endpoints 或 Cloud 运行.

Troubleshooting responses documentation 没有帮助。首先,我认为它仅适用于 ESPv1(而且我找不到明确适用于 v2 的类似内容)并且它根本没有提及 504 响应。

我是否必须直接配置 Envoy 服务器?我该怎么做?我还缺少其他配置超时的东西吗?

我认为这在 Cloud 运行 上不是问题(最大超时是 900 秒而不是 300(Cloud 运行 上的默认值,600 是 PubSub 的最大值)。

所以 Cloud Endpoint 有超时。但它记录在 15 秒,而不是 30 秒,奇怪......所以你可以用 the deadline parameter on your x-google-backend definition

覆盖它