如何在另一个中手动调用 httpTrigger Azure 函数

How to manually call httpTrigger Azure Function within another

我在 Azure 上有一个 JavaScript httpTrigger 函数,我想在另一个 httpTrigger 函数中调用它。两者都在同一个资源组中。我知道 Durable Functions 和 Queue Storage,但(据我所知)在这种情况下都不是完美的,因为:

  1. 我必须将 Function 更改为 activityTrigger 才能使用 Durable Functions,这意味着我将无法单独使用它来处理 HTTP 请求。
  2. 如果我使用队列存储中的函数,它会在每次调用时触发另一个函数,这不是我想要的。

编辑: 毕竟我决定使用 Durable Functions。对于任何想要在 Microsoft 基础架构上构建工作流的人来说,通常有几个选项可供选择,包括以下其他用户推荐的选项:

  1. 持久的功能
  2. 逻辑应用程序
  3. BizTalk 服务器
  4. HTTP 请求

您可以使用 http 模块调用另一个函数

var http = require('http');

module.exports= function (context) {
  context.log('JavaScript HTTP trigger function processed a request.');

  var options = {
      host: '<Another Function URL>',
      port: '80',
      path: '/test',
      method: 'POST'
  };

我决定使用Durable Functions

Durable Functions 需要为 Function App 设置存储服务。您需要在 Function App(如下)中添加一些应用程序设置,但在此之前,备份您当前的函数

  • WEBSITE_CONTENTSHARE — 要获取该值,请导航至您的存储并转到 File shares
  • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING — 使用存储帐户
  • 中的任一 Access keys
  • AzureWebJobsStorage — 使用存储帐户的名称,您也可以在 Access keys
  • 中获取