对于 NetSuite Map/Reduce 脚本 - 为什么从 Restlet 调用时映射阶段失败?
For NetSuite Map/Reduce script - Why is map stage failing when being called from Restlet?
在 NetSuite 中,有一个调用部署的 map/reduce 脚本的 Restlet 脚本,但是在查看状态页面的详细信息时映射阶段显示为失败(getInputData 阶段执行 运行 并显示为完成).
但是,如果我从 map/reduce 脚本的部署中执行 "Save and Execute",它工作正常(Map 阶段执行 运行)。
注意:
- restlet 或 map/reduce 脚本的执行日志没有错误。
- 在 restlet 的定义部分以及函数参数中的任务中有 'N/task'。
- map/reduce 脚本勾选了地图复选框。 map/reduce 脚本部署未计划,其他字段具有默认值。
- 使用 NetSuite 帮助 "See the quick brown fox jump" 示例 map/reduce 脚本
- 使用沙盒帐户
- 使用自定义角色 post 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);
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 - View 和 SuiteScript Scheduling - Full 权限。以为这样就可以了,但显然不行。
有人对此有进一步的了解吗?
您还需要文档和文件 - 查看权限以及 SuiteScript - 查看和 SuiteScript 计划 - 访问 Map/Reduce 脚本的完全权限。
在 NetSuite 中,有一个调用部署的 map/reduce 脚本的 Restlet 脚本,但是在查看状态页面的详细信息时映射阶段显示为失败(getInputData 阶段执行 运行 并显示为完成).
但是,如果我从 map/reduce 脚本的部署中执行 "Save and Execute",它工作正常(Map 阶段执行 运行)。
注意:
- restlet 或 map/reduce 脚本的执行日志没有错误。
- 在 restlet 的定义部分以及函数参数中的任务中有 'N/task'。
- map/reduce 脚本勾选了地图复选框。 map/reduce 脚本部署未计划,其他字段具有默认值。
- 使用 NetSuite 帮助 "See the quick brown fox jump" 示例 map/reduce 脚本
- 使用沙盒帐户
- 使用自定义角色 post 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);
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 - View 和 SuiteScript Scheduling - Full 权限。以为这样就可以了,但显然不行。
有人对此有进一步的了解吗?
您还需要文档和文件 - 查看权限以及 SuiteScript - 查看和 SuiteScript 计划 - 访问 Map/Reduce 脚本的完全权限。