【发布时间】:2021-07-09 05:06:55
【问题描述】:
我有一个用于 Google Cloud Functions 的旧代码,它调整了图像的大小以创建缩略图,这是我三年前在 NodeJS 6 中编写的,它运行良好,但我必须更新到 NodeJS 10,我补充说
"engines": {
"node": "10"
}
其他功能继续工作,但这不是
exports.generateThumbnail = functions.storage.object().onFinalize(async (object) => {
const contentType = object.contentType;
当我尝试访问“对象”时它会抛出一个错误,显然是未定义的,日志错误是
TypeError: Cannot read property 'contentType' of undefined
at exports.generateThumbnail.functions.storage.object.onFinalize (/workspace/index.js:30:32)
at cloudFunctionNewSignature (/workspace/node_modules/firebase-functions/lib/cloud-functions.js:120:23)
at cloudFunction (/workspace/node_modules/firebase-functions/lib/cloud-functions.js:151:20)
at Promise.resolve.then (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:199:28)
at process._tickCallback (internal/process/next_tick.js:68:7)
我更新了 firebase-admin、firebase-functions、google-cloud-storage,但没有解决我的问题 可能发生了什么,我该如何解决?
【问题讨论】:
-
你能分享你
package.json文件吗? -
有一个Github issue 出现同样的错误,您得到的解决方案是在
index.js的开头设置一个新的环境变量,如下所示:process.env.X_GOOGLE_NEW_FUNCTION_SIGNATURE = true;你能试试吗? -
@RafaelLemos 谢谢,它像魅力一样解决了我的问题
-
@LABR 太好了,我会将其作为答案,请考虑接受它,以便社区中遇到相同问题的其他人可以更轻松地找到此解决方案。
标签: node.js firebase google-cloud-functions firebase-storage