gpt4 book ai didi

multithreading - Azure 函数的多个输入

转载 作者:行者123 更新时间:2023-12-03 03:01:31 25 4
gpt4 key购买 nike

TLDR:

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

更长的解释:

我是 Azure Functions 的新手,但仍然不太了解它。

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

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

我正在考虑有两个队列,一个用于 URL,一个用于代理。

客户端应用程序会将 URL 添加到队列中,这将触发该函数。

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

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

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

那么,我正在考虑的事情可能吗?如果没有,是否有其他方法可以解决这个问题?

最佳答案

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

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

当然,您可以在没有输入绑定(bind)的情况下实现相同的效果,只需根据您的自定义逻辑在函数体中手动加载代理设置即可。

只有在两个队列中同时有消息时,才能设置不触发的函数。

关于multithreading - Azure 函数的多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com