Pentaho PDI 无法在转换中使用参数
Pentaho PDI unable to use parameter in transformation
使用 Pentaho PDI 8.3.0
我无法在转换中的 REST 调用中使用参数。我所做的是:
- 创建一个转换并为其指定一个名为 PAGE_NR 的参数,默认值为 1
- 创建工作
- 调用参数转换 PAGE_NR = 1
- 在转换中,设置对 REST 的 GET 请求 API。
- 在 URL 字段中,将调用设置为 http://myurl.com/foo/bar?page=${PAGE_NR}
当我从 SoapUI 或浏览器调用它时,它可以工作,但当 运行 工作时它总是中断。它似乎并没有将这个参数翻译成值,而是像上面提到的那样传递它。
我需要这个参数,因为调用相同的 URL 但结果不同。我不知道前面的页面数量,但稍后在所述转换中处理该逻辑。
正在处理 Linux 顺便说一句。我尝试了调用参数的不同变体,但似乎没有任何效果。
根据评论中给出的信息,我愿意做出有根据的猜测:
REST 客户端步骤不会对 URL 执行变量替换(如果它来自流中的字段)。您可以做的是在 REST 步骤之前插入一个计算器步骤,使用操作 "Variable substitution on string A" 将您的 URL 字段作为字段 A.
这应该会为您提供所需的 URL 和页码。
使用 Pentaho PDI 8.3.0
我无法在转换中的 REST 调用中使用参数。我所做的是:
- 创建一个转换并为其指定一个名为 PAGE_NR 的参数,默认值为 1
- 创建工作
- 调用参数转换 PAGE_NR = 1
- 在转换中,设置对 REST 的 GET 请求 API。
- 在 URL 字段中,将调用设置为 http://myurl.com/foo/bar?page=${PAGE_NR}
当我从 SoapUI 或浏览器调用它时,它可以工作,但当 运行 工作时它总是中断。它似乎并没有将这个参数翻译成值,而是像上面提到的那样传递它。
我需要这个参数,因为调用相同的 URL 但结果不同。我不知道前面的页面数量,但稍后在所述转换中处理该逻辑。
正在处理 Linux 顺便说一句。我尝试了调用参数的不同变体,但似乎没有任何效果。
根据评论中给出的信息,我愿意做出有根据的猜测:
REST 客户端步骤不会对 URL 执行变量替换(如果它来自流中的字段)。您可以做的是在 REST 步骤之前插入一个计算器步骤,使用操作 "Variable substitution on string A" 将您的 URL 字段作为字段 A.
这应该会为您提供所需的 URL 和页码。