我有一个Synapse管道,它在执行业务作业(另一个笔记本)之前运行一个包含单元测试的笔记本。单元测试笔记本使用mssparkutils.notebook.run()命令引用函数,并在Synapse中自己运行笔记本时工作得很好。但是,当我在管道中触发笔记本时,它会出现错误:
{
"errorCode": "6002",
"message": "NameError: name 'get_latest_report_per_user' is not defined",
"failureType": "UserError",
"target": "Run Tests",
"details": []
}get_latest_report_per_user是在参考笔记本中定义的。当在管道的外部运行时,引用可以正常工作。


上面的片段来自我正在运行的单元测试笔记本,get_latest_report_per_user是在"dependency"笔记本中定义的。
我尝试使用神奇的%run命令而不是mssparkutils.notebook.run(),但没有结果。
为什么只有在作为管道的一部分执行时才会失败?
发布于 2022-08-19 08:42:31
我一直有类似的问题,其中一些是通过“出版”笔记本解决的。您也可以在notebook属性下尝试“启用未发布的笔记本引用”选项,但是我想不起来这个选项是否被由Synapse管道调用的笔记本所尊重。
https://stackoverflow.com/questions/72832037
复制相似问题