从Restlet触发MAP / Reduce脚本获取不足的权限时

时间:2016-12-15 16:21:08

标签: netsuite

当我通过使用任务模块从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();

谢谢, 加纳帕蒂

3 个答案:

答案 0 :(得分:3)

我知道这是一篇旧帖子,但为了运行Map / Reduce任务,您需要在SuiteScript上调用ViewScripts和Full。希望这会有所帮助。

答案 1 :(得分:1)

权限不足可能是由于您的restlet / map reduce正在运行的上下文。如果他们没有设置为' administrator'那么你运行脚本的任何角色都可能没有正确的权限。通过切换到管理员来确认其角色问题进行测试,然后您必须分析您正在执行的操作以及您需要的权限。

答案 2 :(得分:0)

实际上@luke和@Graham答案都是正确的。

要提交任务(在2.0版中),您需要将脚本设置为以admin角色运行,并且调用该脚本的用户需要suiteScript和suitescript调度权限角色。