【问题标题】:Multiple Inputs To Azure FunctionAzure 函数的多个输入
【发布时间】:2018-01-30 17:15:26
【问题描述】:

TLDR:

一个 Azure 函数是否可以有多个输入?

更长的解释:

我是 Azure Functions 的新手,但对它还不是很了解。

我有一个通过代理 Web 请求下载 HTML 数据的应用程序,我正在考虑将其移至 Azure Functions。

但是,该函数需要两个输入:一个字符串 URL 和一个代理对象(其中包含 IP 地址、用户名和密码属性)。

我想有两个队列,一个用于 URL,一个用于代理。

URL 将由客户端应用程序添加到队列中,这将触发该功能。

代理队列将有一个有限的代理对象池,这些对象在用于 Web 请求后会被消费函数添加回队列中。

因此,如果代理队列中没有代理,则该函数将无法创建 Web 请求,直到将一个请求重新添加到队列中。

这一切都假设 Azure Functions 是并行的,并且来自 URL 队列的每个触发器都在另一个线程上运行一个函数。

那么,我考虑的可能吗?如果没有,是否有其他方法可以解决?

【问题讨论】:

    标签: multithreading azure web proxy azure-functions


    【解决方案1】:

    给定函数只能有一个触发器,即当指定队列中有新消息时该函数将运行。

    有一个输入绑定功能,可以根据触发请求的属性加载附加数据。例如。如果传入队列消息包含 URL 和一些代理 ID,并且代理设置存储为表存储实体(或 blob),则可以定义输入绑定以根据消息中的 ID 自动加载代理设置。见this example

    当然,你也可以在没有输入绑定的情况下达到同样的效果,只需根据你的自定义逻辑在函数体中手动加载代理设置。

    在两个队列中同时有消息之前,无法设置不触发的函数。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2015-03-17
      • 1970-01-01
      • 2017-08-16
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      相关资源
      最近更新 更多