如何更新Azure持久函数的运行时状态?



我可以通过进入azure存储资源管理器手动更新rununtimestatus。存储资源管理器->表→HubNameInstances→编辑实体

但是有没有一种简单的方法在代码中做到这一点?

如果你想编辑/持久函数Entity

执行一个操作,它可能会更新实体的内部状态。它还可能调用外部服务并等待响应。实体通过使用通过可靠队列隐式发送的消息与其他实体、编排和客户端进行通信。

作为持久函数实现的简单Counter实体。这个函数定义了三种操作,add,reset,get,每一种操作都是在整数状态下进行的。

[FunctionName("QueryCounter")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Function)] HttpRequestMessage req,
[DurableClient] IDurableEntityClient client)
{
var entityId = new EntityId(nameof(Counter), "myCounter");
EntityStateResponse<JObject> stateResponse = await client.ReadEntityStateAsync<JObject>(entityId);
return req.CreateResponse(HttpStatusCode.OK, stateResponse.EntityState);
}

注意

从协调器函数调用实体类似于调用活动函数从编排函数。主要区别在于实体函数是具有地址(即实体ID)的持久对象。实体函数支持指定操作名称。另一方面,活动函数是无状态的,没有操作的概念。

概念参考文档&在代码中实现步骤的文档

最新更新