C# 按URL运行Azure Webjob

C# 按URL运行Azure Webjob,c#,azure,azure-webjobs,ondemand,C#,Azure,Azure Webjobs,Ondemand,我在Azure上托管了一个webjob。我们的webjob将按需运行。 我有一个人(不同的部门/不同的公司) 每当他想要运行这个webjob时,他就必须运行它。但是如果没有访问azure网站,我们不允许他访问azure 所以我在想,如果他访问了某个URL,那么webjob将直接开始运行。否则,此人将始终要求我为他运行此web作业 我们不能让它连续运行,或者按计划运行,因为有些天我们根本不需要运行它,有些天我们想要运行它可能需要200次。我们永远不会知道。有几种方法可以按需运行WebJob。然而,

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

所以我在想,如果他访问了某个URL,那么webjob将直接开始运行。否则,此人将始终要求我为他运行此web作业


我们不能让它连续运行,或者按计划运行,因为有些天我们根本不需要运行它,有些天我们想要运行它可能需要200次。我们永远不会知道。

有几种方法可以按需运行WebJob。然而,目前他们都需要访问Azure帐户和/或Web应用程序。如果您只想授予某人运行作业的权限,那么可以创建一个简单的带有UI的站点,让他们调用作业,在这里您可以为站点实现您想要的任何身份验证方案

然后,站点实现可以使用特制的“触发器URI”(如中所述)通过HTTP POST请求调用作业。如您所见,该URI包含Web应用程序的基本身份验证凭据,因此您不能只告诉他们直接调用该凭据


另一个有趣的选择是使用。您可以创建一个简单的“配方”,通过HTTP POST调用作业,如上所述,使用“the”操作的“Maker Channel”,但重要的是,您可以根据许多不同的输入配置要触发的“This”源,例如,当发送电子邮件或短信、电话、,然后你可以设置它,这样你的朋友只需要发送一封电子邮件或一条短信就可以触发工作。这样他们就无法访问您的任何Web应用凭据。对于您自己,您也可以使用手机上的按钮,通过单击手机上的按钮来触发作业

是否可以通过监视Azure队列来触发作业?您可以在登录后为用户提供一个简单的站点,该站点只需将消息转储到队列中,webjob就会接收到消息。实际上,可以使用RBAC(基于角色的访问控制)进行设置,尽管它涉及的内容很少。如果您愿意,我可以在单独的答案中概述这些步骤。