For NetSuite Map/Reduce script - Why is map stage failing when being called from Restlet?
在NetSuite中,有一个Restlet脚本,该脚本调用已部署的map / reduce脚本,但是当查看状态页面的详细信息时,map阶段显示为Failed(getInputData阶段确实运行并显示为Complete)。
但是,如果我从map / reduce脚本的部署中执行"保存并执行",则可以正常工作(Map阶段确实在运行)。
请注意:
- restlet或map / reduce脚本的执行日志上没有错误。
- 在restlet的定义部分以及函数参数中的任务中具有" N / task"。
- map / reduce脚本选中了Map复选框。映射/缩减脚本部署未计划,并且具有其他字段的默认值。
- 使用NetSuite帮助"查看狐狸的快速跳动"示例图/减少脚本
- 使用沙盒帐户
- 使用自定义角色发布到Restlet
下面是我的Restlet中的create.task代码片段的调用。不知道出什么问题了,我们将不胜感激。
1 2 3 4 5 6 7 8 | var mrTask = task.create({ taskType: task.TaskType.MAP_REDUCE, scriptId: 'customscript_test', deploymentId: 'customdeploy_test' }); var mrTaskId = mrTask.submit(); var taskStatus = task.checkStatus(mrTaskId); log.debug('taskStatus', taskStatus); |
MapReduceScriptTask.submit()的帮助未提及此内容,但ScheduledScriptTask.submit()的帮助却做了:
Only administrators can run scheduled scripts. If a user event script calls ScheduledScriptTask.submit(), the user event script has to be deployed with admin permissions.
我进行了一次使用管理员角色凭据将其发布到我的Restlet的测试,与使用我的其他自定义角色相比,它可以正常工作。就像ScheduledScriptTask一样,MapReduceScriptTask只能由管理员角色调用吗?我的自定义角色确实具有SuiteScript-视图和SuiteScript计划-完全权限。认为可以解决问题,但显然没有。
有人对此有进一步的了解吗?
您还需要Documents and Files -View权限以及SuiteScript-View和SuiteScript计划-完整权限才能访问Map / Reduce脚本。