Oli*_*erH 5 google-cloud-storage firebase google-cloud-functions firebase-storage
我开发了一个 Firebase Cloud 函数,可以对上传的图像进行多种操作。我的代码基于这篇文档文章和这个云函数示例。因此,它使用Google Cloud Storage 包。
它几乎一直工作正常,但有时在上传到存储或从存储中删除时会出现此错误:
Error: read ECONNRESET
at exports._errnoException (util.js:1026:11)
at TLSWrap.onread (net.js:569:26)
Run Code Online (Sandbox Code Playgroud)
我正在使用我的应用程序的默认存储桶,由 引用event.data.bucket。
如果您需要其他信息或代码片段,请告诉我,即使我的代码非常接近我之前链接的函数示例。
我发现了这个 GitHub 问题,但我检查过我每次都返回一个承诺。例如,以下是触发错误的删除部分:
索引.js
Error: read ECONNRESET
at exports._errnoException (util.js:1026:11)
at TLSWrap.onread (net.js:569:26)
Run Code Online (Sandbox Code Playgroud)
example_function.js
exports.exampleFunction = functions.storage.object().onChange(event => {
return f_thumbnails.exampleFunction(event);
});
Run Code Online (Sandbox Code Playgroud)
google-cloud-node这似乎与库对套接字的处理以及 Cloud Functions 环境中的默认套接字超时有关。
用户验证的一种解决方案是修改库调用的方式requests,不要通过指定使套接字永远保持打开状态forever: false,例如。
var request = require('request').defaults({
timeout: 60000,
gzip: true,
forever: false,
pool: {
maxSockets: Infinity
}
});
Run Code Online (Sandbox Code Playgroud)
这是硬编码在packages/common/src/utils.js中,因此您需要将修改后的库的副本提供到您的项目中,而不是将其作为 NPM 依赖项包含在内。有关该问题的更多详细信息以及应用了补丁的分支的链接,请参阅相关的公共问题。
| 归档时间: |
|
| 查看次数: |
5721 次 |
| 最近记录: |