-
创建时间
19年3月14日
-
最后回复
19年3月18日
- 7
回复
- 97
浏览
- 2
用户
- 3
链接
建议升级 lean-cli 至最新版,然后访问 http://localhost:3001 云引擎云函数和 Hook 函数调试界面,看看能不能复现这个错误。
如果可以复现,请将报错信息贴一下。
```
使用三个反引号,可以保留代码和报错信息的缩进
```你好,还是这样。 最新版本是 0.20.1吗?
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/leancloud/engine/leanengine.py", line 128, in dispatch_request
result = {'result': dispatch_cloud_func(self.cloud_codes, app_params, decode_object=False, **values)}
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/leancloud/engine/leanengine.py", line 222, in dispatch_cloud_func
result = func(**params)
File "/Users/caishaolong/GAME_GRADING_TEST/cloudFun/add.py", line 23, in saveFeedbackGame
feedback_game.save()
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/leancloud/object_.py", line 235, in save
response = client.post('/classes/{0}?fetchWhenSave={1}'.format(self.classname, fetch_when_save), data)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/leancloud/client.py", line 96, in new_func
return func(headers=headers, *args, **kwargs)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/leancloud/client.py", line 161, in new_func
raise leancloud.LeanCloudError(content.get('code', 1), content.get('error', 'Unknown Error'))
LeanCloudError: LeanCloudError: [142] Cloud Code validation failed. Error detail : Cloud Code script had an error.
lean-cli 最新版本是 0.20.1
我这边没能复现您的问题。
我的复现步骤如下:
我在 lean init 生成的示例项目的 cloud.py 中加入了 saveFeedbackGame 函数定义:
@engine.define
def saveFeedbackGame():
Feedback_game = leancloud.Object.extend('feedback_game')
feedback_game = Feedback_game()
feedback_game.set('gameName', '1111')
feedback_game.save()
(顺便说下,下次代码烦请用 ``` 包裹下。贴图的话,想要复现还要手打代码。)
然后我在本地调试环境 lean up 后通过 localhost:3001 调用,以及部署到云引擎后通过 REST API 调用测试,都能成功运行 saveFeedbackGame 云函数,返回结果均为:
{
"result": null
}
因为 saveFeedbackGame 是一个返回 None 的 void 函数,所以这个返回是符合预期的。然后在控制台存储部分,也能看到保存的 feedback_game:
{
"gameName": "1111",
"ACL": {
"*": {
"read": true,
"write": true
}
},
"objectId": "5c8b4ea712215f007242a690",
"createdAt": "2019-03-15T07:05:11.638Z",
"updatedAt": "2019-03-15T07:05:11.638Z"
}
建议参考 云引擎文档 排查下项目配置方面是否存在问题。
如果是这样的话,可能是数据类型锁定的问题。之前可能往 feedback_game 表里填过其他 schema 的数据,然后现在的 schema 和先前的冲突。

