在 Databrick Notebook 中,我想知道哪个文件触发了管道。
我已经准备好 Azure 数据工厂管道。它有基于 blob 事件的触发器,它运行 databricks notebook。 在 databricks notebook 中,我想知道哪个文件触发了管道[它的路径]
触发器本身有效,因为它在我上传文件时触发。
我准备了字符串类型的管道参数和类似的值 SourceFile 字符串 @triggerBody().fileName SourceFolder 字符串 @trigger().outputs.body.folderPath
在任务中我准备了如下参数: 源文件@pipeline().parameters.SourceFile SourceFolder @pipeline().parameters.SourceFolder
Databricks Notebook中这样一段代码:
dbutils.widgets.text("SourceFolder", "","")
y = dbutils.widgets.get('SourceFolder')
print ("Param -\'SourceFolder':")
print (y)
打印这个:
Param -'SourceFolder': @trigger().outputs.body.folderPath
我想查看路径或文件名而不是命令。
我在我的环境中尝试了上面的方法,它对我来说工作正常。
我创建了两个参数
foldername
和filename
.
我创建了如下触发器。
将触发参数
@triggerBody().folderPath
和 @triggerBody().fileName
提供给管道参数,如下所示。
然后我创建了一个设置变量来创建具有以下动态内容的文件路径。
@concat(pipeline().parameters.foldername,'/',pipeline().parameters.filename)
将此作为笔记本基本参数传递。
笔记本执行:
此外,我尝试了
@trigger().outputs.body.fileName
和 @trigger().outputs.body.folderPath
,它对我来说工作正常。
首先尝试设置变量,看看是否从触发器参数中获取文件路径。
如果还是一样,那么最好为您的问题提出支持票。