3

Python で耐久性のある関数を使用しようとしていますが、状態を耐久性のあるエンティティに保存したいと考えています。特に Python で、Durable Entities を操作する方法に関するドキュメントはほとんどありません。C# コードを読んでみましたが、あまり役に立ちませんでした。彼らが提供する唯一の例は、クライアント関数から呼び出される単純な「カウンター」関数ですが、オーケストレーター関数から呼び出したいです。私が見つけることができる唯一のドキュメントはここにあります:

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