当我通过使用任务模块从RESTlet调用MAP / REDUCE脚本时,我遇到了以下问题,在Sandbox中配置明智似乎很好。但我无法触发MAP / REDUCE脚本。任何人都可以帮忙吗...
{"type":"error.SuiteScriptError","name":"INSUFFICIENT_PERMISSION","message":"You do not have privileges to perform this operation","stack":["submit(N/task)","doPost(/SuiteBundles/Bundle 10009/Solarwind_Import_Trsansaction_RESTlet.js:122)"],"cause":{"type":"internal error","code":"INSUFFICIENT_PERMISSION","details":"You do not have privileges to perform this operation","userEvent":null,"stackTrace":["submit(N/task)","doPost(/SuiteBundles/Bundle 10009/Solarwind_Import_Trsansaction_RESTlet.js:122)"],"notifyOff":false},"id":"","notifyOff":false}
代码是:
var mrTask = task.create({
taskType : task.TaskType.MAP_REDUCE
});
mrTask.scriptId = 'customscript_sw_jsondata_mapreduce';
mrTask.deploymentId = 'customdeploy_sw_jsondata_mapreduce';
mrTask.params =
{
custscript_sw_jsondata_mapreduce_para : requestBody
};
mrTask.submit();
谢谢, 加纳帕蒂
答案 0 :(得分:3)
我知道这是一篇旧帖子,但为了运行Map / Reduce任务,您需要在SuiteScript上调用ViewScripts和Full。希望这会有所帮助。
答案 1 :(得分:1)
权限不足可能是由于您的restlet / map reduce正在运行的上下文。如果他们没有设置为' administrator'那么你运行脚本的任何角色都可能没有正确的权限。通过切换到管理员来确认其角色问题进行测试,然后您必须分析您正在执行的操作以及您需要的权限。
答案 2 :(得分:0)
实际上@luke和@Graham答案都是正确的。
要提交任务(在2.0版中),您需要将脚本设置为以admin角色运行,并且调用该脚本的用户需要suiteScript和suitescript调度权限角色。