3

我正在尝试在 Python 中使用持久函数,并且我想将状态存储在持久实体中。关于如何使用持久实体的文档很少,尤其是在 Python 中。我什至尝试阅读一些 C# 代码,但没有多大帮助。他们提供的唯一示例是从客户端函数调用的简单“计数器”函数,但我想从 Orchestrator 函数调用它。我能找到的唯一文档在这里:

https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-entities?tabs=python

本指南说我可以从协调器中做到这一点,这是他们提供的示例:

def orchestrator_function(context: df.DurableOrchestrationContext):
    entityId = df.EntityId("Counter", "myCounter")
    current_value = yield context.call_entity(entityId, "get")
    if current_value < 10:
       context.signal_entity(entityId, "add", 1)
    return state

因此,遵循该文档会给我以下错误:

Exception: RuntimeError: function 'DurableFunctionsEntityPy' without a $return binding returned a non-None value

我曾尝试在 function.json 中为实体函数使用各种输出,但没有任何效果。大多数时候我收到一个错误,上面写着:

@durablefunctionsentitypy@myCounter: Function 'durablefunctionsentitypy (Entity)' failed with an error. Reason: Internal error: System.ArgumentNullException: Value cannot be null. (Parameter 'name')

这里需要做什么?

我对代码的“返回状态”部分也很困惑?“状态”在哪里定义?似乎他们把它扔在那里而没有显示任何方法让某人弄清楚。我希望微软多花一点时间来研究这些指南,这样它们才有意义!

请帮忙,我正在拔头发!

4

0 回答 0