Azure 持久函数示例表示不允许使用同步函数

Dav*_*arr 7 azure

我正在逐步完成 Azure 培训。我目前正在查看https://docs.microsoft.com/en-us/learn/modules/create-long-running-serverless-workflow-with-durable-functions/4-exercise-create-a-workflow-使用耐用功能

当我开始“验证持久函数工作流是否启动”时,我注意到有些不对劲。我得到了一个空白屏幕,而不是它预测的 json 响应。然后,我查看了HttpStart函数的日志,看到了这个:

Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.
Run Code Online (Sandbox Code Playgroud)

我不确定我会在哪里做,但在这一点上,我浏览了之前的所有说明以寻找差异。我唯一注意到的是,在说明中,它显示了 HttpStart 的“function.json”应该是什么样子,我注意到它有这个:

"authLevel": "anonymous",
Run Code Online (Sandbox Code Playgroud)

但我有这个:

"authLevel": "function",
Run Code Online (Sandbox Code Playgroud)

无论如何,我所拥有的似乎更正确,所以我认为说明中显示的内容不正确。

我还注意到说明中描述了安装“Azure DurableTask 扩展”,但我没有看到任何安装它的提示。

我没有看到说明中的任何其他差异。

然后我用谷歌搜索了错误信息。以下似乎相关,但我不知道这如何或是否真的适用:https : //github.com/dotnet/aspnetcore/issues/7644

aut*_*red 9

忘记我上面关于恢复到版本 2 的评论的最后一句话。

我已将运行时版本更改为版本 2,这次 HTTP 触发器成功运行。要更改运行时版本,我单击了我创建的持久函数的概述选项卡上已配置功能标题下的“函数应用设置”链接概览选项卡

在 Function app settings 选项卡中,我选择了 ~2 按钮将运行时版本更改为 2.0.xxxx 应用设置选项卡

另外,为了确保安装了持久功能包,我跑了

npm 查看持久功能