问题标签 [azure-durable-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
491 浏览

azure - Durable Activity Functions 可以使用绑定属性吗?

看来我不能拥有使用 Blob 绑定的活动功能。以下给出了运行时错误:

我收到多个失败的绑定错误消息。Durable Functions 不能解析绑定吗?

编辑:添加错误消息(减少冗长......):

0 投票
1 回答
724 浏览

javascript - 如何在 javascript 中实现基本单元测试以实现 azure 持久功能编排

什么是单元测试,它将在下面的编排器中伪造对 callActivity 的调用以返回已知值并期望编排器返回该值。

用于单元测试的 azure 持久函数文档[1] 上的示例都是用 C# 编写的,尽管多次尝试,我还是无法在 javascript 中复制它们。这是因为我不知道如何构建一个带有虚假上下文的协调器。

[1] https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-unit-testing

0 投票
0 回答
161 浏览

azure-durable-functions - 持久函数中的大型消息处理

嘿,Durable Functions 的人,我刚刚遇到了在状态查询响应的输出属性中返回大型消息 url 的第一个实例。例如

是否有用于下载和反序列化这些的模式/推荐库?

编辑:我意识到有 GZipStream 类,但我想知道函数框架中是否有一个新的/鲜为人知的方法来为我处理它?

0 投票
0 回答
611 浏览

c# - Azure 持久功能:链接多个功能时,新实例在任何消息完成处理之前启动

我有一个带有 QueueTrigger 的 Azure Durable 函数。在内部,我有一些与子编排一起调用的 Azure 函数。这是代码

这是 SubOrchestrator 的代码

这种结构的方式是,我们将消息及其子输入处理到数据库中,然后运行 ​​MessageFinalization,通过调用我们网站上的 Api 将消息/产品索引到 Elastic Search 中。我们将大量消息排队,然后对其进行处理。

我遇到的问题是 Durable Function 执行前几个 Azure 函数,然后等待最后几个函数。这是 WebJobs 仪表板的屏幕截图

在此处输入图像描述

所以如您所见,已经处理了很多消息,但没有执行 LLGFeedFinalizeMessage 的 1 个实例。有没有办法可以确保我的整个管道得到执行,而不是先执行前几个函数,然后再执行所有函数。或者甚至是先进先出。那就是让编排器在启动新实例之前等待并完成其所有功能。

主机.json

0 投票
2 回答
1038 浏览

azure-durable-functions - Azure Durable Functions 大消息支持问题

我在将大量对象从活动函数返回到协调器函数时遇到问题。我有一个下载 180 MB 文件并解析它的函数。该文件将生成一个包含超过 962K 条目的对象列表。每个对象都有大约 70 个属性,但其中只有大约 20% 被填充。当我运行该函数时,代码成功下载并将文件解析到列表中,但是当返回列表时,会引发异常并显示以下信息:

异常:“执行函数时出现异常:#######” - 来源:“System.Private.CoreLib”

内部异常:“函数返回后处理参数 $return 时出错。” - 来源:“Microsoft.Azure.WebJobs.Host”

内部/内部异常:“引发了‘System.OutOfMemoryException’类型的异常。” - 来源:“System.Private.CoreLib”

最后一个嵌套异常将 NewtonsoftJson 包列为进行调用的包,该调用会生成报告的内存不足错误。我在最后包含了这个异常的完整堆栈跟踪。

我知道我可以序列化对象列表并将它们存储在 Azure blob 条目中,然后在需要处理它的下一个函数中再次获取它,但我认为持久函数背后的想法是避免所有这些和保持更精简的工作流程?此外,我的设计基于“Large Message Support #26”github 帖子,该帖子指出,如果大小超过队列消息限制,持久函数扩展将自动将函数有效负载存储在 blob 中(请参阅:https://github. com/Azure/azure-functions-durable-extension/issues/26)。

我需要做些什么才能使它正常工作吗?代码非常简单:

这是最内部异常的堆栈跟踪:

0 投票
1 回答
602 浏览

c# - 持久函数 SubOrchestrator 不返回

我有一个服从子编排器的持久功能,如下所示:

第一个子编排器成功完成,但执行不返回编排函数,因此第二个子编排器永远不会被调用。我什至如何调查为什么会发生这种情况?

0 投票
1 回答
693 浏览

azure-functions - 为什么“重播”的行为可以确保 Azure 持久函数中的可靠执行?

我认为“重播”的行为确保了 Azure 持久函数中的可靠执行,如下面的链接中所述。

https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-checkpointing-and-replay

但是,我不知道为什么这意味着可靠以及“重放”和不“重放”之间的区别。

回复的行为非常复杂。我想不使用回复比使用重放更简单。

为什么持久函数使用重放?为什么“重放”的行为可以确保 Azure 持久函数中的可靠执行?

0 投票
1 回答
316 浏览

azure-functions - 在 Azure Functions 中加载第 3 方 dll

我在带有 2.1 运行时的 Azure Functions 中使用icu.net。当我构建 icu dll(icuin59.dllicuio59.dllicutest59.dllicutu59.dllicuuc59.dllicudt59.dll)时,将被复制到../netcoreapp2.1/lib/win-x64文件夹和../netcoreapp2.1/bin/runtimes/win7-x64/native文件夹中。icu.net.dll也被复制到../netcoreapp2.1/bin.

我在 Windows 10 上本地运行。

当我的函数执行时,我得到:

注意我已经从一个 net core 控制台应用程序成功地运行了这些,所以我猜这些库不在正确的文件夹中。

关于库需要放在哪里以及如何设置它们以便在那里部署和发布作为我使用 VS 2017 构建的一部分的任何建议?

0 投票
1 回答
107 浏览

azureportal - 门户和编排重播事件中的持久功能“监视器”

我已将 logReplayEvents 设置为 false,尽管这是默认设置,但我仍然在 Azure 门户的 Monitor 部分中看到我的编排函数的多个条目用于单个调用:

在此处输入图像描述

任何想法,如果可能的话,我可以改变它,所以它只显示一个。

0 投票
1 回答
275 浏览

azure - Azure Durable 函数中维护什么状态?

在通过 Azure Durable 函数时,他们提到我们可以编写有状态函数。有状态是什么意思,维护什么状态?我们是在谈论函数的运行状态吗?