如何在Azure功能中保持状态(便宜的方式)?

时间:2017-05-25 12:11:15

标签: azure azure-functions

如何在Azure Function执行之间保留少量数据?就像在全局变量?该功能在定时器触发器上运行。

我需要存储一个Azure Function执行的结果,并将其用作下一次执行相同功能的输入。在函数执行之间存储数据的最便宜(不一定最简单)方法是什么?

(目前我正在使用每个人都获得的免费Azure功能,现在我想以类似的免费或廉价方式保存状态。)

3 个答案:

答案 0 :(得分:6)

有几种选择 - 我建议您将状态存储在blob中。

您可以使用blob输入绑定为每次执行读取全局状态,并使用blob输出绑定来更新该状态。

您还可以删除计时器触发器并使用队列,队列消息中存储状态,并在消息上设置可见性超时以设置计划(即下一个执行时间)。

最后,您可以在文件系统上使用文件,因为它在功能应用程序中共享。

如果您可以接受数据丢失的可能性并且只关注实例级别,则可以:

  • 维护静态数据结构
  • 写入实例本地存储

答案 1 :(得分:3)

答案 2 :(得分:2)

这是旧线程,但是值得分享处理Azure函数状态的新方法。

现在,我们拥有Microsoft本身的持久功能方法,可以非常轻松有效地维护功能状态。请参阅MS的以下文档。

https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview