如何在 Azure 数据工厂中将触发器参数传递给笔记本

问题描述 投票:0回答:1

在 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

我想查看路径或文件名而不是命令。

azure azure-data-factory databricks
1个回答
0
投票

我在我的环境中尝试了上面的方法,它对我来说工作正常。

我创建了两个参数

foldername
filename
.

我创建了如下触发器。

enter image description here

将触发参数

@triggerBody().folderPath
@triggerBody().fileName
提供给管道参数,如下所示。

enter image description here

然后我创建了一个设置变量来创建具有以下动态内容的文件路径。

@concat(pipeline().parameters.foldername,'/',pipeline().parameters.filename)

enter image description here

将此作为笔记本基本参数传递。

enter image description here

笔记本执行:

enter image description here

此外,我尝试了

@trigger().outputs.body.fileName
@trigger().outputs.body.folderPath
,它对我来说工作正常。

首先尝试设置变量,看看是否从触发器参数中获取文件路径。

如果还是一样,那么最好为您的问题提出支持票

© www.soinside.com 2019 - 2024. All rights reserved.