5***@qq.com
5***@qq.com
  • 发布:2021-07-31 12:37
  • 更新:2021-09-20 15:56
  • 阅读:540

【报Bug】上传云函数失败:InternalServerError

分类:uniCloud

产品分类: uniCloud/腾讯云

示例代码:

下面是使用到的腾讯云OCRAPI引入的代码,如果没有安装依赖会报错cannot read property of .then

            const clientConfig = {  
                credential: {  
                    secretId: "",  
                    secretKey: "",  
                },  
                region: "ap-guangzhou",  
                profile: {  
                    httpProfile: {  
                        endpoint: "ocr.tencentcloudapi.com",  
                    },  
                },  
            };  
            const client = new OcrClient(clientConfig);  
            const params = {  
                "ImageUrl": event.id_card_url,  
                "CardSide": event.CardSide  
            };  
            client.IDCardOCR(params)  
                .then(  
                    (data) => {  
                        result = data  
                        console.log(data);  
                    },  
                    (err) => {  
                        result = "识别失败"  
                        console.error("error", err);  
                    }  
                )  
    }

操作步骤:

用npm引入了tencentcloud-sdk-nodejs的依赖。
common公共模块文件夹中部署了tencentcloud-sdk-nodejs,而且可以上传成功
使用该模块的云函数在管理公共模块设置里勾选了tencentcloud-sdk-nodejs,该函数文件夹下也有了tencentcloud-sdk-nodejs
上传部署云函数时,控制台显示正在安装函数依赖后就报错:InternalServerError并且没有其它信息

预期结果:

云函数上传成功

实际结果:

报错:InternalServerError

bug描述:

由于要使用腾讯云的OCR识别,用npm引入了tencentcloud-sdk-nodejs的依赖。
目前的代码情况为,common公共模块文件夹中部署了tencentcloud-sdk-nodejs,而且可以上传成功
使用该模块的云函数在管理公共模块设置里勾选了tencentcloud-sdk-nodejs,该函数文件夹下自动安装了tencentcloud-sdk-nodejs到node_modules文件夹
上传部署云函数时,控制台显示正在安装函数依赖后就报错:InternalServerError并且没有其它信息

2021-07-31 12:37 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

确定是上传到腾讯云是吗?重试还是这个错误?

  • 5***@qq.com (作者)

    是的,应该是node_modules的问题,我取消公共依赖后就能上传了,但是不能使用依赖

    2021-08-02 09:28

  • DCloud_uniCloud_WYQ

    回复 5***@qq.com: 你本机执行npm install时使用npm源能安装吗?

    2021-08-02 11:07

  • 5***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 可以

    2021-08-04 22:36

  • 5***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 官方的uni-id的云函数是可以上传的,也是配置了公共模块依赖。但是依赖tencentcloud-sdk-nodejs就不行。可能是包比较大超时了?

    2021-08-05 09:45

  • DCloud_uniCloud_WYQ

    回复 5***@qq.com: 如果是自己用可以试试在云函数里面依赖一下tencentcloud-sdk-nodejs,公共模块下不依赖tencentcloud-sdk-nodejs,再上传看看

    2021-08-05 11:03

  • 5***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 试了一下报了另外一个错误,[FUNCTIONS_EXECUTE_FAIL] The "original" argument must be of type function

    是我引入依赖时的问题吗?


    const tencentcloud = require("tencentcloud-sdk-nodejs");  
    const OcrClient = tencentcloud.ocr.v20181119.Client;

    这个是腾讯云API提供的代码

    2021-08-06 14:39

  • 5***@qq.com (作者)

    回复 5***@qq.com: 这个是可以上传,但是连接云端函数运行会报错,本地运行没事

    2021-08-07 14:11

  • 5***@qq.com (作者)

    回复 5***@qq.com: 引入的package.json的dependence为


        "dependencies": {  
    "tencentcloud-sdk-nodejs": "^4.0.178"
    }

    2021-08-07 14:12

  • DCloud_uniCloud_WYQ

    回复 5***@qq.com: 就上面那个错误吗?看起来跟依赖没有关系,是用法上的问题,调用OcrClient的方法的时候出现的吧

    2021-08-09 10:57

  • 5***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 但是本地运行是没问题的,上传后用云端就报错了。查了下好像是got版本问题需要使用低版本,请问云端安装的依赖如何指定低版本安装呢

    2021-08-11 13:27

  • DCloud_uniCloud_WYQ

    回复 5***@qq.com: got是谁的依赖?

    2021-08-11 18:41

  • 5***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 不是got,是tencentcloud-sdk-nodejs

    2021-08-13 13:42

2***@qq.com

2***@qq.com

我也遇到了这个问题 请问有结论吗?

该问题目前已经被锁定, 无法添加新回复