1

I'm trying to pass a parameter into the File List component through input port 0. All of my attempts thus far have been met with an error,

Input edge has no effect. Disconnect edge or use metadata fields as parameters in Target URL, Source path or Target path.

Ideally, I would like the Target URL to be something along the lines of http://${S3_ACCESS_KEY}:${S3_SECRET_KEY}@${MY_BUCKET}.s3.amazonaws.com/reports/${port:0.value}/*_interestingReport.csv where ${port:0.value} is the value passed in from the input port.

What is the correct way to use data coming in on input port 0?

4

2 回答 2

1

从文件列表(但也包括其他文件组件)的输入边缘传递参数的工作方式是,您使用输入边缘的元数据列的名称并将其包含在 ${ 和 } 之间。

因此,如果边缘上的元数据有一个名为directory的字段,其中包含您要使用的目录,这就是如何做到这一点的方法。


http://${S3_ACCESS_KEY}:${S3_SECRET_KEY}@${MY_BUCKET}.s3.amazonaws.com/reports/${directory}/*_interestingReport.csv
于 2015-02-11T11:36:56.247 回答
0

让我向您展示一个非常简单的图表示例,该图表使用“数据生成器”创建流并将其作为“文件列表”组件的输入发送。

http://www.filedropper.com/inputportfilelist_1

如您所见,引用输入字段的方式是“${DATA_SOURCE_DIR}/${fileDir}/”,它是“fileDir”唯一包含在连接两个组件的链接元数据中的字段。它基本上会列出位于 ${PROJECT}\data\source\manifests 中的文件。

我希望这有帮助。

于 2015-02-11T10:54:49.187 回答