.net - Azure 数据工厂中 webhook 的实现
问题描述
使用 webhook 活动时,我在从 azure 数据工厂获取回调 URI 时遇到困难,而且我目前正在 webhook 中调用 webjob。在网络作业中,我有 .Net 代码,但我无法获取回调 URI。
而且我真的需要使用 webhook 活动,因为我有一个长期运行的工作
解决方案
基于此博客的详细解释和此链接中的有趣示例,在管道中调用 webhook 活动时,数据工厂将在请求的 JSON 正文中添加一个附加字段“callBackUri”,该字段将是自动创建。(如果没有,您可以自行设置在正文中)
从那里您可以选择继续在管道中执行,或使用数据工厂的控制流来优雅地处理故障或超时。
更新答案:
根据您的最新评论,我假设您想将 callbackuri 作为参数传递给 webjob 并在 webjob 里面使用它。
我搜索了 WebJob REST APi,得到了这个api:/api/triggeredwebjobs/{job name}/run?arguments={arguments}
要使用参数运行,请使用在调用时将添加到脚本中的 arguments 参数。它还作为 WEBJOBS_COMMAND_ARGUMENTS 环境变量传递给 WebJob
WebJob 似乎只接受命令参数,所以我用一个简单的控制台应用程序进行了测试。
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 https://***.scm.azurewebsites.net/api/triggeredwebjobs/WebJob1/run?arguments=jayuri
,它可以打印在日志中:
我还做了一个测试,通过身体中的jayuri,但它不能被触摸。
所以我担心你必须callbackuri
像我的测试一样通过 webhook uri 后面的 uri/arguments=callbackuri 。
推荐阅读
- python - 如何在 Python 应用程序中建立与 Kerberos 的连接?
- php - 我可以使用 Symfony 的验证约束 NotEqualTo 不区分大小写吗
- c# - 对每 15 分钟刷新一次的“大”数据集进行排序的最有效方法
- python - 日期时间的Python北美工作周数?
- heroku - Heroku 没有检测到 composer.lock 文件
- python - __set__ 描述符中的 ipdb.set_trace 不起作用
- python - 用于非美国股市数据的 Stooq API
- r - R中一列的数字总和
- php - 单击 opencart 上的标签时出现的错误 SQL 语法是什么?
- c - stm32f4板上的usb otg与i2c冲突