【问题标题】:Azure Durable orchestrator pass multiple zip filesAzure Durable orchestrator 传递多个 zip 文件
【发布时间】:2023-01-17 19:51:02
【问题描述】:

我正在接受要在 orchestrator 中处理的多个 zip 文件。我的持久协调器是 httptriggered。

我能够以 multipartmemorystream 的形式访问 http 触发器中的文件,但是当我将其传递给 durable orchestrator 时,orchestrator 触发器但无法获取文件以进行进一步处理。

下面是我的 http 触发器函数代码,用于读取多个文件并传递给 orchestrator

 var data  =  req.Content.ReadAsMultipartAsync().Result;
string instanceId = await starter.StartNewAsync("ParentOrchestrator", data);

Orchestrator 触发器代码:

 public static async Task<List<string>> RunOrchestrator(
        [OrchestrationTrigger] IDurableOrchestrationContext context
     )
    {
        var files = context.GetInput<System.Net.Http.MultipartMemoryStreamProvider>();

为了读取输入,我还尝试创建类并将流传递给属性,以便可以将数据序列化为 JSON,但没有成功。 我在代码中遗漏了什么? 问题是如何获取要处理的 zip 文件。

我在 orchestrator 上下文下检查了原始输入,在那里我可以看到文件名和其他详细信息

【问题讨论】:

    标签: azure azure-durable-functions


    【解决方案1】:

    将文件作为输入传递对我来说似乎是个坏主意。 这些输入将在每次重放时由编排器从表存储/Blob 存储加载。 相反,我建议您将 Zip 文件上传到 Blob 存储并将 blob URL 作为输入传递给协调器。 然后您使用 URL 作为实际处理文件的活动的输入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 2015-01-18
      • 1970-01-01
      • 2021-08-11
      • 2012-02-10
      • 2019-05-11
      相关资源
      最近更新 更多