小编Pet*_*ter的帖子

如何在Google Cloud功能中获取原始请求正文?

我需要原始请求主体能够SHA-1消化它以验证Facebook webhook X-Hub-Signature标头,该标头随请求一起传递给我的Firebase功能(在Google Cloud Functions上运行).

问题在于,在这种情况下(带有Content-Type: application/json标题),GCF会自动解析使用bodyParser.json()该数据的主体消耗流中的数据(意味着它不能再次在Express中间件链中使用),并且只提供解析后的javascript对象req.body.原始请求缓冲区被丢弃.

我试图提供一个Express应用程序functions.https.onRequest(),但这似乎是作为子应用程序运行或者已经解析了请求主体的东西,就像你传递一个普通的请求 - 响应回调一样onRequest().

有没有办法禁用GCF为我解析身体?或者我可以以某种方式指定我自己的verify回调bodyParser.json()?或者还有其他方式吗?

PS:我一周前第一次联系Firebase支持,但由于缺乏响应,我现在在这里尝试.

javascript firebase google-cloud-functions

12
推荐指数
2
解决办法
4994
查看次数

为什么我的Firebase功能部署(来自荷兰)失败了?

更新:问题已经过去了一段时间,但自昨天以来一直以复仇的方式返回.部署现在真的需要永远,并且总是失败Server Error. connect ETIMEDOUTUpload Error: Cannot read property 'response' of undefined与其他东西失败.

在尝试使用HideMyAss通过美国位置进行连接后,我发现这完全解决了我的问题!请注意,此问题不仅发生在我们在阿姆斯特丹办事处部署,而且还来自我们在鹿特丹的办事处.与此同时,我也听到更多人遇到其他Google服务的问题.

我已经使用此信息回复了相关的Firebase支持电子邮件,希望他们能够对此进行调查.同时我想我将不得不继续使用HideMyAss ..

-

在添加更多功能之后,部署功能的时间越来越长.有时一开始,但最近有一段时间我每次尝试$ firebase deploy --only functions随机部署的一个功能都失败了:

⚠函数[foo]:部署错误:执行环境失败

当我稍后再试一次时,它会毫无问题地部署(仍然需要2分钟才能部署,这似乎有点慢).

也许部署过程是超时的; 经过很长一段时间,它总是失败,永远不会很快.

也许我在美国以外的地方导致部署过程中与延迟相关的问题?虽然看起来不太可能..

我也在研究Firebase函数日志记录"函数执行需要60002毫秒,完成状态:'超时'"和其他性能问题,所以我想知道这些是否都是相关的.

PS:我还向https://firebase.google.com/support/报告了这一点,但是我在那里做的最后一份报告在15天后仍然没有回复,所以我将继续发布并在此发布.我在这个报告中包含了一个firebase-debug.log,但是没有在这里公开分享(不确定那里是否有任何令牌等).

firebase google-cloud-functions

8
推荐指数
1
解决办法
1133
查看次数