对于NetSuite Map / Reduce脚本 - 为什么从Restlet调用时映射阶段失败?

问题描述 投票:2回答:2

在NetSuite中,有一个Restlet脚本调用已部署的map / reduce脚本,但是当查看状态页面的详细信息时,map阶段显示为Failed(getInputData阶段确实运行并显示为Complete)。

但是,如果我从map / reduce脚本的部署中执行“保存并执行”,它可以正常工作(Map stage会运行)。

注意:

  • restlet或map / reduce脚本的执行日志没有错误。
  • 在“定义重定位”部分中有“N /任务”以及在函数参数中执行任务。
  • map / reduce脚本选中了Map复选框。 map / reduce脚本部署未计划,并具有其他字段的默认值。
  • 使用NetSuite帮助“查看快速棕色狐狸跳”示例map / reduce脚本
  • 使用Sandbox帐户
  • 使用自定义角色发布到restlet

下面是从我的Restlet调用create.task代码片段。不知道出了什么问题,感谢任何帮助。

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);
deployment mapreduce netsuite restlet suitescript
2个回答
0
投票

您还需要文档和文件-View权限以及SuiteScript - View和SuiteScript Scheduling - 访问Map / Reduce脚本的完全权限。


1
投票

MapReduceScriptTask.submit()的帮助没有提到这一点,但ScheduledScriptTask.submit()的帮助:

只有管​​理员才能运行预定脚本。如果用户事件脚本调用ScheduledScriptTask.submit(),则必须使用管理员权限部署用户事件脚本。

我测试了使用管理员角色凭证发布到我的restlet,它可以正常工作,而不是使用我的其他自定义角色。也许就像ScheduledScriptTask一样,MapReduceScriptTask只能由管理员角色调用?我的自定义角色确实具有SuiteScript - View和SuiteScript Scheduling - 完全权限。以为这会伎俩,但显然不是。

有人对此有进一步的了解吗?

© www.soinside.com 2019 - 2024. All rights reserved.