【问题标题】:Using Azure WebJobs for on demand responses使用 Azure WebJobs 进行按需响应
【发布时间】:2016-10-12 20:35:43
【问题描述】:

我目前有几个 WebApi 项目,它们使用一些类库,例如地址查找、银行验证、图像存储等。

目前它们都在一个共享的解决方案中,但我打算将它们分开。我考虑将这些库移动到 NuGet 包中,以便它们与 API 项目分开并正确共享。

但是,如果我对这些组件之一进行更改,我将需要构建和重新部署 API 服务,即使它是一个已更改的单独组件。

我曾考虑将这些组件放入一个单独的服务中,但似乎有点开销。

我一直在研究 Azure WebJobs,并认为我可以将这些组件移入其中。我有两个与此相关的问题:

  1. WebJobs 是否适合按需调用(不使用队列)?该请求将从网站上的用户激活,该网站调用我的 API 服务,然后调用 Web 作业,因此它需要快速。

  2. WebJob 可以返回数据吗?我已经看到了一些示例,其中它进行了一些处理和更新数据库,但我需要一个响应(最好是 Json)返回到我的 API 服务。

谢谢

【问题讨论】:

  • 你不会有同样的问题吗?如果您的 WebJob 托管在 Azure 中的 AppService 下,那么部署 WebAPI 和部署 WebJob 有什么区别?
  • 我假设我可以部署新版本的 WebJob 而无需接触 API 服务?
  • 据此 (stackoverflow.com/questions/22265546/…) 您的计划将无法实施。当前无法在尝试调用 WebJob 时将参数传递给它。此外,WebJob 被实现为“public static void”方法,因此您将无法从中返回数据。

标签: azure azure-webjobs


【解决方案1】:

根据您的要求,我假设您可以尝试通过使用 HTTP 触发器创建一个函数来利用 Azure Functions,该触发器可以通过访问带有参数的函数 URL 来触发,并按照您的预期返回响应。您可以关注此tutorial 以开始使用 Azure Functions。

【讨论】:

  • 谢谢,我想这就是我要找的!我浏览了一下,发现您可以从 Git 存储库进行部署。这实际上只是复制文件还是编译?原因是我想在同一个解决方案中引用另一个项目,可能还有 NuGet 包,可以这样做吗?
  • 没关系,我刚刚在这里找到了有关如何执行此操作的 Azure 文章:azure.microsoft.com/en-us/documentation/articles/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多