数据管道:Google Cloud Function 中的 URL 请求以 VPC 连接器上的“崩溃”结束

问题描述

我的 Cloud Function 有一个小问题,导致消息崩溃

函数执行耗时 242323 毫秒,完成状态为:'crash'

我的设置 设置了两个 GCP 项目,一个由 A 部门管理,我在 B 部门工作,我可以访问在 A 部门的 GCP 项目上设置的服务器。

Department A GCP 项目位于我们的内部网络后面,我正在通过 VPC 连接器访问该项目上的服务器。

在我的 B 部门 GCP 项目中,我使用了 Cloud Scheduler、Cloud Pub/Sub、Cloud Function 和 Cloud Storage。

工作流程 Cloud Scheduler 每天向发布/子主题发布一次消息。 一个 Cloud Function 订阅了 pub/sub-topic,当有新消息到达 pub/sub-topic 时,Cloud Function 会向 A 部门 GCP 服务器上的服务器发起 HTTP 请求。向服务器发出的请求启动查询并返回作为 .csv 文件存储在 CLoud Storage 中的数据。

我有几个计划在早上运行的 URL,只是给我一个问题,因为它需要最长的执行时间,我执行的所有其他 URL 都以状态 OK 完成,并且文件被存储在云存储中。

我遇到问题的这个特定 URL 总是在 242323 毫秒左右崩溃,即使我的 Cloud Function 设置为 540 秒也是如此。

enter image description here

提一下其他有效的 URL 都是在 242323 ms 标记之前完成的。

查看日志我可以看到导致 Cloud Function 崩溃的麻烦 URL,消息是 ('Connection aborted.',ConnectionResetError(104,'Connection reset by peer'))

我正在使用 python“请求”来发出 HTTP 请求。

在 A 部门,我们在他们的 GCP 项目中使用代理服务器,VPC-Connector 已与之配对。

我们可以使用 cURL 向 Department B GCP 项目发出 HTTP 请求,使用 cURL 我们可以毫无问题地完成对使用 Cloud Function 有问题的 URL 的请求。

问题是来自 Cloud Functions 的请求在 540 秒的 Cloud Functions 执行时间结束之前终止。我测试了代理,它有 15 分钟的超时,这对于 Cloud Function 来说已经足够了。

这可能是 VPN 连接器的问题,我看不到任何与挂断相关的设置,我希望这里有人知道要查找的内容

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)