Python で耐久性のある関数を使用しようとしていますが、状態を耐久性のあるエンティティに保存したいと考えています。特に Python で、Durable Entities を操作する方法に関するドキュメントはほとんどありません。C# コードを読んでみましたが、あまり役に立ちませんでした。彼らが提供する唯一の例は、クライアント関数から呼び出される単純な「カウンター」関数ですが、オーケストレーター関数から呼び出したいです。私が見つけることができる唯一のドキュメントはここにあります:
このガイドでは、オーケストレーターから実行できると述べています。提供されている例を次に示します。
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')
ここに何が必要ですか?
コードの「戻り状態」の部分にも非常に混乱していますか?「状態」はどこで定義されていますか? 誰かがそれを理解する方法を示さずに、彼らはそれをそこに投げ込んだようです. マイクロソフトがこれらのガイドにもう少し時間を割いて、理解できるようにしてくれたらと思います!
助けてください、私は髪を引っ張っています!