我的云函数在调用时正在注销此错误。
Error: 13 INTERNAL: An internal error occurred.
at callErrorFromStatus (/workspace/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
at Object.onReceiveStatus (/workspace/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.js:192:76)
at Object.onReceiveStatus (/workspace/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
at Object.onReceiveStatus (/workspace/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
at /workspace/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/resolving-call.js:94:78
at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
此错误来自此函数:
const insert = await admin
.firestore()
.collection(myCollection)
.add(insertFSObject)
.catch((error) => {
console.log(`Insert failed document ${insertFSObject.name} at ${insertFSObject.created}`)
console.log(error);
});
我监控了我的云功能,错误似乎不再出现,这很奇怪,因为错误之前或之后的所有事务和日志都是成功调用。当这个错误不经常发生时,我该如何修复它。
正如 Doug Stevenson 在他的评论中已经提到的,这样的错误:
错误:13 内部:发生内部错误。
我可能会因为很多原因而被抛弃。所以在这种情况下,我的建议是重试云函数,直到成功。欲了解更多信息,请查看以下帖子中的 @GünterZöchbauer 答案:
这意味着您应该很好地处理代码中的内部错误,以便它会重试任何失败。在您的代码中,您应该使用 RuntimeOptions.failurePolicy 其中:
函数的失败策略,布尔值
相当于提供一个空的重试对象。true