按URL运行Azure Webjob

时间:2016-01-03 15:07:06

标签: c# azure azure-webjobs ondemand

我在Azure上托管了一个webjob。我们按需运行webjob。 我有一个人(不同的部门/不同的公司) 每当他想要运行这个webjob时,他都必须运行它。但是如果没有访问azure网站,我们不允许他访问azure。

所以我想某种方式,如果他访问它有一些URL,webjob将直接开始运行。否则,这个人总是会要求我为他竞选这个网络工作。

我们无法连续或预定,因为有些日子我们根本不需要它运行,有些日子我们想要运行它可能是200次。我们永远不会知道。

1 个答案:

答案 0 :(得分:3)

有几种方法可以运行WebJob OnDemand。但是,目前所有这些都需要访问Azure帐户和/或Web App。如果您想授予某人仅运行作业的访问权限,那么您可以使用UI创建一个简单的站点,让他们调用该作业,您可以在其中实现您希望为该站点创建的任何身份验证方案。 / p>

然后,网站实施可以通过 HTTP POST请求使用特制的"触发器URI"来调用作业。如this post中所述。如您所见,该URI包含Web App的基本身份验证凭据,因此您无法告诉他们直接调用它。

另一个有趣的选择是使用IFTTT。你可以创建一个简单的"配方"使用" Maker Channel"通过HTTP POST调用作业。对于"那"动作,但重要的是你可以配置"这个"基于许多不同输入触发的源 - 例如当发送电子邮件,或短信,电话等时,您可以设置它,这样您的朋友只需发送电子邮件或文本来触发工作。这样他们就无法访问您的任何Web App凭据。对于您自己,您还可以使用手机上的IFTTT "Do Button" app通过手机上的按钮点击来触发作业!