如何在 Azure Function 中保持状态(廉价的方式)?
How to persist state in Azure Function (the cheap way)?
如何在 Azure 函数执行之间保留少量数据?就像在全局变量中一样?该函数在定时器触发器上运行。
我需要存储一次 Azure 函数执行的结果,并将其用作同一函数下一次执行的输入。在函数执行之间存储数据的最便宜(不一定最简单)的方法是什么?
(目前我正在使用每个人都能获得的免费数量的 Azure Functions,现在我想以类似的免费或廉价方式保存状态。)
有几个选项 - 我建议您将状态存储在 blob 中。
您可以使用 blob 输入绑定来读取每次执行的全局状态,并使用 blob 输出绑定来更新该状态。
您还可以删除计时器触发器并使用队列,将状态存储在队列消息中,并在消息上设置可见性超时以设置计划(即下一次执行时间)。
最后,您可以使用文件系统上的文件,因为它在函数应用程序之间共享。
如果您可以接受数据丢失的可能性并且只关心实例级别,您可以:
- 维护静态数据结构
- 写入实例本地存储
这是旧话题,但值得分享在 Azure 函数中处理状态的新方法。
现在我们拥有来自 Microsoft 本身的持久函数方法,我们可以在其中非常轻松有效地维护函数状态。请参考 MS 的以下文档。
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview
现在可以使用持久实体来处理状态持久性。
如何在 Azure 函数执行之间保留少量数据?就像在全局变量中一样?该函数在定时器触发器上运行。
我需要存储一次 Azure 函数执行的结果,并将其用作同一函数下一次执行的输入。在函数执行之间存储数据的最便宜(不一定最简单)的方法是什么?
(目前我正在使用每个人都能获得的免费数量的 Azure Functions,现在我想以类似的免费或廉价方式保存状态。)
有几个选项 - 我建议您将状态存储在 blob 中。
您可以使用 blob 输入绑定来读取每次执行的全局状态,并使用 blob 输出绑定来更新该状态。
您还可以删除计时器触发器并使用队列,将状态存储在队列消息中,并在消息上设置可见性超时以设置计划(即下一次执行时间)。
最后,您可以使用文件系统上的文件,因为它在函数应用程序之间共享。
如果您可以接受数据丢失的可能性并且只关心实例级别,您可以:
- 维护静态数据结构
- 写入实例本地存储
这是旧话题,但值得分享在 Azure 函数中处理状态的新方法。
现在我们拥有来自 Microsoft 本身的持久函数方法,我们可以在其中非常轻松有效地维护函数状态。请参考 MS 的以下文档。
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview
现在可以使用持久实体来处理状态持久性。