问题标签 [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 回答
272 浏览

azure-functions - 如果在目录中,Azure 函数会失败

我创建了一个非常简单的持久功能应用程序进行测试。它有 3 个文件(starter、orchestrator、activity)和一个 .csproj,以及正常的样板文件(host.json 等)

当 4 个主文件位于根目录时,该功能运行良好。我正在使用 VS 代码。我只是调试并“附加到 C# 函数”。

如果我将这 4 个文件移动到它们自己的目录并.csproj使用.sln文件注册,删除根目录中的bin/obj文件夹,我会收到错误消息。

我需要做什么来告诉 Functions 我的函数在一个目录下?

0 投票
3 回答
5064 浏览

azure - 持久函数异常:“找不到用于此绑定的 Azure 存储连接字符串。”

我有一个具有持久功能(以及一些非持久功能)的功能应用程序,我收到一个 InvalidOperationException ,它说:Unable to find an Azure Storage connection string to use for this binding.

这是堆栈跟踪:

抱怨缺少连接字符串的似乎是持久功能。但是,我的 AzureWebJobsDashboard 应用程序设置中确实填充了连接字符串,所以我不确定它为什么会失败。

0 投票
1 回答
1085 浏览

c# - 在多个 azure 函数实例之间共享一个对象实例

我遇到的情况是,我需要在 Azure Function 的多个实例之间共享一个对象的一个​​实例。原因是对象内部保存了我需要的一些状态,它是外部库,所以我需要使用它,没有解决方法。这是否可以通过持久的 Azure 功能以某种方式实现?拥有一个由队列触发器或 http 触发器触发的函数,并且该函数将具有该单例实例,并调用常规 azure 函数?那什么时候会关闭那个“主要”功能呢?

干杯

0 投票
1 回答
2055 浏览

azure - 使用 Application Insights 看不到自定义日志

我正在开发我的第一个 Application Insights 项目并面临一些问题。

技术栈

项目类型 - Azure Durable Functions

.NetStandard 2.0

视觉工作室 2017

问题

在 HTTPStart 方法中,我使用 ILogger(和 TraceWriter)添加自定义日志消息。

示例代码

当我在本地运行应用程序时,主机文件如下:

在此背景下,我试图找出以下问题:

  1. 在 Azure 门户上看不到自定义日志。 在插槽的应用程序设置中配置的 Application Insights 密钥

问题是,我可以看到通用语句(开箱即用)被记录,但没有显示在 ILogger / TraceWriter 帮助下的自定义日志。

  1. 无法在本地查看任何日志我想在本地系统上查看日志记录,这样我就不必每次都在 Azure 上部署,我需要在异常情况下测试日志记录。我在 VS2017 上看不到任何日志。 VS2017 应用洞察
0 投票
1 回答
534 浏览

azure - Azure Durable Functions - 无法更改任务中心名称以支持并行版本控制

我正在研究实现此处描述的并行 Azure 持久功能版本控制模式:https ://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-versioning

我部署了一个 FunctionApp,它当前使用默认的HubName DurableFunctionsHub. 我已经阅读了上面的文档,似乎我需要做的就是在 host.json 文件中提供以下 json:

当我部署新的 host.json 文件时,我可以在门户中看到 host.json 文件具有上述更改,但存储容器不包含以HubName TaskHubV1. 屏幕截图显示了存储容器的内容:

Durable Function Storage Screenshot 我期待使用HubName上述作为前缀创建额外的 Blob、队列和表,例如表存储:TaskHubV1History TaskHubV1Instance

HubName不会是 V2 Functions 当前不支持更改?

0 投票
3 回答
1057 浏览

azure - 如何管理 Azure Durable Functions 的执行历史记录

我正在开发一个使用 Durable Functions (v2) 执行的 ETL 流程。基本流程如下:

  1. 使用活动检索要处理的产品代码列表
  2. 从主编排器扇出到 N 个子编排,以将多个集成数据源合并为单个对象并在 Cosmos DB 中更新

主要编排是使用单例实例模式实现的,因此一次只运行一个实例。

它工作正常,但是底层 TaskHub 表存储中的执行历史随着该进程的每次执行而显着增长,并且存在明显的维护问题,因为该进程将按小时运行,并且会在底层生成大量数据TaskHub 表。

我正在努力寻找有关如何维护此流程的执行历史以使其不会增长太多的指导。我知道ContinueAsNewAsync()API,但这并不太适合我的设计,因为它也会强制进程再次运行。我也找不到任何可用于清除执行历史记录的 API 信息。

现在是否需要直接手动清除表格,比如使用单独的计时器触发函数?考虑到持久函数表的架构可以随时更改,这感觉有点 hacky / volatile。

0 投票
0 回答
909 浏览

c# - Durable Azure Functions 中的计时器触发器

我有这样的初始天蓝色功能:

我的 Orchestrator 功能:

和一个活动触发器:

但是在这种情况下,我的 Activity 触发器函数被调用了很多次,而不是 CRON 表达式,据我所知,这应该限制调用次数。我做错了什么。如何实现仅由计时器调度调用的持久功能?提前感谢您的帮助

0 投票
1 回答
976 浏览

c# - DurableOrchestrationClient - 返回一个结果对象

我有一个 DurableOrchestrationClient 执行几个 Activity 函数在 ActivityMessage 对象上工作 - 如何在启动函数中获取更新的 ActivityMessage 对象的句柄?

例如启动器功能:

...>

任何帮助将不胜感激

0 投票
2 回答
774 浏览

azure - Azure 持久功能:JsonSerializationException 通过将复杂对象从触发器传递到协调器

我有一个带有 EventHubTrigger 的天蓝色函数:

协调器函数正在接收事件数据:

但是通过执行 context.GetInput() 我得到一个异常:

函数“O_ProcessTradesFromEventHub (Orchestrator)”因错误而失败。原因:Newtonsoft.Json.JsonSerializationException:找不到用于类型 Microsoft.Azure.EventHubs.EventData 的构造函数。一个类应该有一个默认构造函数、一个带参数的构造函数或一个标有 JsonConstructor 属性的构造函数。路径“主体”,第 1 行,位置 81。

0 投票
1 回答
558 浏览

azure-functions - Durable Functions 子编排永远不会返回到父编排

我有一个调用几个活动的子编排。其中一个活动被调用约 150 次,每个活动都放在一个任务列表中,然后等待 Task.WhenAll(list)。这些任务中的每一个都返回一个 base64 编码的图像,因此消息在较大的一侧。

编排聚合来自这些活动的结果并将它们返回给父编排。使用调试器单步执行时,编排正确完成并返回适当的结果。

在收到子编排的结果后,我在下一步的父编排中有一个断点,但它永远不会被击中。结果永远不会返回给父级。

这可能与从子编排返回的消息大小有关吗?

如果我在父编排中内联子编排代码而不是将其作为子编排调用它可以正常工作