通过ULTRA任务使用时,为什么传送到错误输出的文档会导致管道失败?

时间:2018-08-16 15:59:45

标签: snaplogic snaplogic-script-snap

我正在制作一个并行触发几个REST POST调用,然后更新数据库中表的管道。将通过ULTRA任务使用它。我正在使用脚本进行某些转换和映射,而这些脚本和转换不能使用传统捕捉,因为它们大多数都不兼容ULTRA(例如,tail和group by字段)。

我知道我需要维护血统信息,这样的管道才能通过ULTRA任务工作。请参阅以下文档。

Script Snap Documentation

每当我将结果写入输出时,我都会使用以下内容。

this.output.write(doc, wrapper);

但是在文档中没有提到在发生错误时维护血统信息的问题。我在catch块中有一个类似的包装,如下所示。

error

我从此脚本中收到以下错误。

this.error.write(wrapper); 

以下是相关的代码。

Document created by 'Pre-DB Script[08755fd3-46b0-4f3a-b353-4a0685b649c4 -- 2b2bfab7-18f7-49ab-9a98-41bf0bc694eb]' does not contain lineage information and cannot be used as output from an Ultra pipeline

Resolution:
Use a Join snap to merge static documents into an Ultra input document or request that the snap be made Ultra-compatible

Reason:
The document was not created from an Ultra input document or was created by a Snap that is not Ultra-compatible

那么,在文档被路由到错误路径的情况下,如何解决沿袭信息问题?

1 个答案:

答案 0 :(得分:0)

事实证明,您可以在error中传递与output类似的沿袭信息。

this.error.write(doc, wrapper);