微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FetchError:对https://db.fauna.com/的请求失败,原因:写入EPIPE

如何解决FetchError:对https://db.fauna.com/的请求失败,原因:写入EPIPE

我正在尝试使用Netlify函数访问FaunaDB来启动我的新Web应用程序,尽管它似乎在本地运行良好(通过netlify dev),但是当它联机时,感觉对数据库的第3次调用均失败,并出现以下错误

FetchError: request to https://db.fauna.com/ Failed,reason: write EPIPE
at ClientRequest.<anonymous> (/var/task/src/node_modules/faunadb/node_modules/node-fetch/lib/index.js:1461:11)
at ClientRequest.emit (events.js:315:20)
at TLSSocket.socketErrorListener (_http_client.js:426:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processticksAndRejections (internal/process/task_queues.js:84:21) {
  type: 'system',errno: 'EPIPE',code: 'EPIPE'
}

我不知道这是什么意思,或者我可能做错了什么或如何解决。好像是在动物区系。

执行对Fauna的调用的所有“服务器端代码”都在各种Netlify函数中(我想它们只是封装了AWS Lambda)。各种错误调用了不同的Netlify函数,都产生了此错误,而不仅仅是一个错误

解决方法

您收到的错误可能是由类似于从AWS Lambda函数查询FaunaDB的问题引起的:https://docs.fauna.com/fauna/current/drivers/known_issues

本质上,支持您的函数的Netlify函数上下文可能并不总是在运行。在这种情况下,恢复执行上下文并尝试下一次查询时,存储在FaunaDB驱动程序客户端对象中的连接状态可能会过时。

典型的解决方案是在主处理程序逻辑而不是初始化逻辑中创建客户端对象并执行查询。

我不知道此答案是否对您的情况有所帮助。如果是这样,请告诉我,我们可以更新动物区系文档中的指南。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。