Azure data factory 如何强制设置管道';状态为失败

Azure data factory 如何强制设置管道';状态为失败,azure-data-factory,azure-data-factory-2,Azure Data Factory,Azure Data Factory 2,我正在使用复制数据。 当出现一些数据错误时。我会把它们导出成一团。 但在这种情况下,管道的状态仍然是成功的。我想把它设为false。可能吗 当出现一些数据错误时 这取决于你在这里提到的错误 1.如果您的意思是常见的不兼容或不匹配错误,ADF支持名为“复制活动”的内置功能,它支持以下3种情况: 源数据类型与本机接收器之间不兼容 类型 源和接收器之间的列数不匹配 写入SQL Server/Azure SQL时违反主键 数据库/Azure宇宙数据库 如果配置为记录不兼容的行,则可以在以下路径找到日

我正在使用复制数据。 当出现一些数据错误时。我会把它们导出成一团。 但在这种情况下,管道的状态仍然是成功的。我想把它设为false。可能吗

当出现一些数据错误时

这取决于你在这里提到的错误

1.如果您的意思是常见的不兼容或不匹配错误,ADF支持名为“复制活动”的内置功能,它支持以下3种情况:

  • 源数据类型与本机接收器之间不兼容 类型
  • 源和接收器之间的列数不匹配
  • 写入SQL Server/Azure SQL时违反主键 数据库/Azure宇宙数据库
如果配置为记录不兼容的行,则可以在以下路径找到日志文件:
https://[您的blob帐户].blob.core.windows.net/[如果配置了路径]/[复制活动运行id]/[自动生成的GUID].csv

如果要在出现任何错误时立即中止作业,可以设置如下:

请参见本案例:

2.如果您谈论的是您自己的数据错误逻辑,则可能需要一些业务逻辑。我担心ADF无法为您检测到这一点,尽管我认为这也是一个常见的要求。但是,您可以按照这个案例()进行变通。其主要思想是在执行复制活动之前,使用自定义活动转移坏行。在自定义活动中,您可以根据需要使用.net SDK将坏行上载到Azure Blob存储中


更新:

由于要记录所有不兼容的行并同时强制执行作业失败,因此恐怕无法在复制活动中直接实现

但是,我想到了一个主意,您可以在复制活动之后使用If Condition活动来判断输出是否包含
rowsskiped
。如果是这样,输出False,那么您将知道有一些跳过数据,以便可以在blob存储中检查它们


我读过容错。但问题是我需要在记录不兼容的行之后中止作业。容错支持这种情况吗?或者我必须故意提出一个错误?@Jeff_hu在第一个坏行中止活动不符合您的要求?不,不符合。因为我必须记录所有不兼容的行,所以TOOTE管道仍然“成功”,不是吗?我想我是故意犯了个错误。但是谢谢。我会记下你的答案。