首页 > 解决方案 > Azure Durable Function 中的状态在哪里?

问题描述

我正在构建一个 Azure Durable Function App,它每天由 Timer 1 触发。出于某种原因,我想保留以前运行的状态(例如令牌或数组),这可能吗?

很多官方文档都会从 Azure Durable Function is statefull 开始,我只知道一个活动的输出可以用作另一个活动的输入。Chris Gillum 只是跳过了 youtube 视频中的那个话题

标签: azureserverlessazure-durable-functions

解决方案


这在一定程度上取决于您将如何需要该状态。如果对象是一个活动函数的输出并传递到另一个活动函数,那么您可以使用函数链接模式,例如 Sajeetharan 描述的,因为活动函数的输入默认情况下是持久的。

但是,如果您想在更长的时间内(即上次运行计时器函数)捕获对象的状态,您可以查看Durable Entities(在撰写本文时仍处于预览状态):

实体函数定义了用于读取和更新小块状态的操作,称为持久实体。与编排器函数一样,实体函数是具有特殊触发器类型实体触发器的函数。与编排器函数不同,实体函数没有任何特定的代码约束。实体函数还显式管理状态,而不是通过控制流隐式表示状态。

Chris Gillum 写了一篇关于它的文章:https ://medium.com/@cgillum/azure-functions-durable-entities-67db648d2f74

如果你不能使用这个预览版或者不喜欢这个概念,你仍然可以编写具有输入和输出绑定到表或 blob 存储或 CosmosDB 的活动函数并自己管理状态。


推荐阅读