Worker failed to load Durable Entity function when binding a Storage Queue
还没有人认领这个 Issue。
评估
调研方向
从已复现的 Counter 示例的 init.py 和 function.json 开始,然后跟踪 entity_function 入口点的加载方式,以及其 outputQueueItem 绑定的验证方式。运行本地 reproducer,并比较存在 queue 绑定时的函数加载情况;当 Counter 函数能够通过声明的 Storage Queue 输出成功加载时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
🐛 Describe the bug
I'm learning about Durable Entities , not sure if this is supported or not. I'm using counter sample provided here and trying to bind a Storage Queue . However worker complains about not finding the corresponding parameter:
[2022-07-22T15:02:30.124Z] Worker failed to load function: 'Counter' with function id: 'a80f6d9c-8814-4549-bc62-155546eaf880'.
[2022-07-22T15:02:30.125Z] Result: Failure
Exception: FunctionLoadError: cannot load the Counter function: the following parameters are declared in function.json but not in Python: {'outputQueueItem'}
🤔 Expected behavior
What should have happened?
Worker is able to load Function
☕ Steps to reproduce
What Durable Functions patterns are you using, if any?
HTTPTrigger > Orchestration > Entity
Any minimal reproducer we can use?
https://github.com/enriqueayala/azure-function-counter.git
_ init.py _
import logging
import json
import azure.functions as func
import azure.durable_functions as df
def entity_function(context: df.DurableEntityContext, outputQueueItem: func.Out[str]):
"""A Counter Durable Entity.
A simple example of a Durable Entity that implements
a simple counter.
Parameters
----------
context (df.DurableEntityContext):
The Durable Entity context, which exports an API
for implementing durable entities.
"""
current_value = context.get_state(lambda: 0)
operation = context.operation_name
if operation == "add":
amount = context.get_input()
current_value += amount
elif operation == "reset":
current_value = 0
elif operation == "get":
pass
context.set_state(current_value)
context.set_result(current_value)
outputQueueItem.set(current_value)
main = df.Entity.create(entity_function)
function.json
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "context",
"type": "entityTrigger",
"direction": "in"
},
{
"type": "queue",
"direction": "out",
"name": "outputQueueItem",
"queueName": "outqueue",
"connection": "AzureWebJobsStorage"
}
]
}
Are you running this locally or on Azure?
Locally
- 主要语言
- Python
- 星标
- 157
- 派生
- 70
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Azure/azure-functions-durable-python 的其他 Issue
-
Enhancement fixed-in-v2 P3
难度 2/5 1-3 小时 新手友好度 72/100
Azure/azure-functions-durable-python#617 · 1 条评论 ·
-
bug Debuggability fixed-in-v2 P2
难度 2/5 1-3 小时 新手友好度 72/100
Azure/azure-functions-durable-python#587 · 2 条评论 · 1 个 reaction ·
-
Custom object serialization broken for orchestrator return values可能已有人在做 @andystaples 于 68 天前认领。 未关闭bug fixed-in-v2 P2
难度 2/5 1-3 小时 新手友好度 75/100
Azure/azure-functions-durable-python#568 · 1 条评论 ·
-
bug fixed-in-v2 P3
难度 2/5 1-3 小时 新手友好度 72/100
Azure/azure-functions-durable-python#475 · 1 条评论 ·
-
Enhancement fixed-in-v2 P3
难度 4/5 3-5 天 新手友好度 62/100
Azure/azure-functions-durable-python#618 · 1 条评论 ·
查看 Azure/azure-functions-durable-python 的全部 Issue
相似的 Issue
-
难度 1/5 1-3 小时 新手友好度 85/100
pytest-dev/pluggy#757 ·
维护者通常 1 天内回复
-
难度 1/5 1-3 小时 新手友好度 85/100
NousResearch/hermes-agent#134960 ·
维护者通常 1 天内回复
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captions可能已有人在做 @morten-lagabote 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 67/100
docling-project/docling#4671 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
good first issue hacktoberfest infra
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复