如何捕获Azure Data Factory复制活动失败的最内层错误信息
提取Copy Activity返回的实际错误信息
要从@activity('Copy Activity').Error.Message返回的复杂错误文本中提取出"The requested user 'xxxx@yyyy.com' is invalid."这类实际错误信息,可以借助Azure Data Factory的字符串处理与JSON解析函数实现,具体步骤如下:
第一步:分割提取Response段的JSON内容
原错误信息中,实际错误嵌套在Response:之后的JSON结构里,先用split函数拆分文本,获取Response:后的部分,再截断掉后续的,Source=...冗余内容:split(split(activity('Copy Activity').Error.Message, 'Response: ')[1], ',Source=')[0]这一步会得到纯净的JSON字符串:
{"error":{"code":"ErrorInvalidUser","message":"The requested user 'xxxx@yyyy.com' is invalid."}}第二步:解析JSON并提取错误消息
用json()函数将上述字符串解析为JSON对象,再直接访问error.message字段即可拿到目标错误信息:json(split(split(activity('Copy Activity').Error.Message, 'Response: ')[1], ',Source=')[0]).error.message
最终这个表达式就能直接返回"The requested user 'xxxx@yyyy.com' is invalid.",可将其用于错误处理活动(如Web活动、变量赋值)中,实现精准的错误信息捕获。
内容的提问来源于stack exchange,提问作者Ajay Meda
相关产品推荐
相关产品推荐

