使用webhook活动时,我很难从azure数据工厂获取回调URI,而且我目前正在webhook中调用webjob。在webjob中,我有.Net代码,但无法获取回调URI。
我真的需要使用webhook活动,因为我的工作很长时间
答案 0 :(得分:0)
基于此blog中非常详细的解释以及此link中有趣的示例,在管道中调用Webhook活动时,Data Factory将向JSON主体添加一个附加字段会自动创建该请求的“ callBackUri”。(否则,您可以自行将其设置在正文中)
从那里,您可以选择继续在管道中执行,或者使用Data Factory的控制流来优雅地处理故障或超时。
更新答案:
根据您的最新评论,我假设您想将callbackuri作为参数传递给webjob,并在其中的webjob中使用它。
我搜索了WebJob REST APi,并得到了api:false
要使用参数运行,请使用将添加的arguments参数 脚本调用时。它还将作为 WEBJOBS_COMMAND_ARGUMENTS环境变量
似乎WebJob只接受命令参数,所以我用一个简单的Console App进行了测试。
/api/triggeredwebjobs/{job name}/run?arguments={arguments}
然后我通过using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JayWebJobConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.Write(args[0]);
}
}
}
调用上述rest api,可以将其打印在日志中:
我还做了一个测试,证明jayuri能够通过体内,但无法被触摸。
因此,我担心您必须像我的测试一样通过uri / arguments = callbackuri,在网络挂钩uri后面通过https://***.scm.azurewebsites.net/api/triggeredwebjobs/WebJob1/run?arguments=jayuri
。