使 Web Activity 使用不正确的响应 Json

Make Web Activity work with response that's not a proper Json

我正在使用 Web Activity 向 slack webhook 发出 POST 请求。 问题是 slack webhook 以 200 和一个 "ok" 字符串作为响应的主体进行响应,而网络 activity 似乎不喜欢那样,因为我收到了错误:

{
    "errorCode": "2108",
    "message": "Response Content is not a valid JObject",
    "failureType": "UserError",
    "target": "activityName"
}

所以我的问题是是否有解决此问题的方法,或者是否有使用网络的替代方法 activity。目前我知道我可以使用自定义 activity 甚至我正在考虑设置一个充当代理的 azure 函数,因此 returns 一个合适的 Json.

注意:我正在使用这种 slack 集成在出现问题时发出警报。当然,我也乐于接受有关如何在 ADF 中出现问题时提醒我的团队的建议(发送电子邮件不起作用,因为我们的收件箱完全混乱,所以 slack 似乎是一个很好的改变选择)。 =13=]

根据 the official doc,网络 activity 调用 的 REST 端点必须 return 类型为 JSON 的响应。如果 activity 没有收到端点的响应,它将在 1 分钟后超时并出现错误。

所以目前我认为您的解决方法应该是正确的方法。

除了电子邮件,我认为 ADF 还提供了其他方法来监控您的数据工厂。请查找 this doc 了解更多详情。

您可以对 HTTP 数据集使用查找 activity。您可以将数据集定义为 REST 调用,我认为查找 activity 对响应格式不挑剔。

另一种选择可能是使用 Azure 逻辑应用程序来更新 Slack。您可以将其用作由 ADF 调用的 'proxy',或者查看是否可以设置它来执行您想要的监控。