【发布时间】:2021-11-11 18:46:24
【问题描述】:
我正在使用 Azure 数据工厂 和 Azure 数据库实例。
我有一个调用可能失败的过程的数据工厂查找活动。在CATCH 块中THROW 在发生故障时被调用。在 Azure 数据工厂客户端检查错误弹出窗口时,我可以看到 THROW 的“输出”。我目前无法访问此“输出”,据我所知,它不是输出。
我试过了(每一行都是一次尝试):
@activity('activityName').output.firstRow.error
@activity('activityName').output.firstRow.errors
@activity('activityName').error.message
@activity('activityName').errors.message
@activity('activityName').errors.number
@activity('activityName').ErrorCode
@activity('activityName').Errors
检查错误弹出窗口时:
“源”端发生故障。 ErrorCode=SqlOperationFailed, '类型=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, 消息=数据库操作失败,出现以下错误: 'blabla',Source=,''Type=System.Data.SqlClient.SqlException, Message=blabla,Source=.Net SqlClient 数据提供者, SqlErrorNumber=245,Class=16,ErrorCode=-2146232060,State=1, Errors=[{ Class=16, Number=245,State=1,Message=blabla,},],'
数据显然在那里,只是我无法访问它,我发现在这种情况下缺少文档。有关于从 CopyActivity 而不是 LookupActivity 访问错误输出的综合文档。
我想要实现的是记录错误。在某些情况下,该过程成功并需要将输出提交到数据工厂,这就是为什么我必须从THROW 捕获错误数据;在将 SELECT 返回到数据工厂后,我无法通过再次使用 THROW 引发错误来失败此任务。
【问题讨论】:
标签: logging error-handling azure-sql-database azure-data-factory-2