如何在没有绑定的情况下运行 Azure Function
Posted
技术标签:
【中文标题】如何在没有绑定的情况下运行 Azure Function【英文标题】:How to run Azure Function without a binding 【发布时间】:2018-06-10 06:51:06 【问题描述】:Azure 函数是否可以在没有绑定(计时器、主题、队列、HTTP)等的情况下运行?
我的 Azure 函数是一个进程,我希望它在循环中连续运行而不完成,除非 Azure 函数通过 UI 停止
我可以让 Azure 函数在每天运行的计时器触发器上运行,并让 Azure 函数在 23 小时 59 分钟后完成,但我不想采用这种方法。
【问题讨论】:
【参考方案1】:预览版中 Azure 的 Durable Functions 可能能够实现这一点:
参见模式 #4,有状态的单例:https://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-overview
虽然 Durable Functions 不是 Actor 模型的实现,但编排器函数确实具有许多相同的运行时特性。例如,它们是长时间运行的(可能是无穷无尽的)、有状态的、可靠的、单线程的、位置透明的和全局可寻址的。这使得编排器函数对于类似“actor”的场景很有用。
【讨论】:
【参考方案2】:不,函数不适用于长时间运行的进程。
如果您的 Function App 使用 Consumption Plan,则每次执行最多会在 10 分钟后被终止。
在固定计划中,您的解决方法可能会奏效。我仍然建议改用常规的连续应用服务 Web 作业,因为函数不会为您的场景提供任何附加值。
【讨论】:
以上是关于如何在没有绑定的情况下运行 Azure Function的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 microsoft azure 用户的情况下使用 swift 获取访问令牌?
我们可以在没有 Azure 的情况下在 IIS 中部署 Microsoft bot 应用程序吗?