Azure Synapse中Web Activity遇HTTP错误失败,如何捕获异常标记为成功?
Azure Synapse中捕获Web Activity特定异常的实现方案
可以通过Try-Catch容器结合Web Activity的错误配置来实现需求,具体操作如下:
- 用Try-Catch容器包裹循环内的Web Activity
- 在Try块中放置目标Web Activity,进入该活动的错误处理设置,开启「Continue on error」选项。这样即使Web Activity返回400等非语法错误,也不会直接终止管道,而是触发Catch块执行。
- 在Catch块中区分错误类型
- 添加If Condition活动,通过表达式判断错误类型:
- 若要识别语法错误,可通过Web Activity的错误信息判断,示例表达式:
@contains(activity('你的Web活动名称').error.message, 'Syntax Error')(根据实际返回的语法错误关键词调整) - 如果判断为语法错误,调用Fail Activity,手动标记管道失败并填写错误信息;如果是custid不存在这类业务异常,可执行Set Variable活动记录异常(可选),或直接跳过,让管道继续执行循环的下一条记录。
- 若要识别语法错误,可通过Web Activity的错误信息判断,示例表达式:
- 添加If Condition活动,通过表达式判断错误类型:
- 补充配置:在Web Activity的输出设置中,开启「Include body for non-successful responses」,这样能在Catch块中获取完整的错误响应内容,便于精准判断错误类型。
内容的提问来源于stack exchange,提问作者user15382501
相关产品推荐
相关产品推荐

