繁体   English   中英

Azure 耐用 Function 编排 GetInput 不起作用

[英]Azure Durable Function Orchestration GetInput Doesn't Work

我在使用耐用的 function 2.0 时遇到问题。

首先,我有 queueTrigger,它调用 OrchestrationTrigger

 [FunctionName("StartOrchestration")]
        public static async Task Run([QueueTrigger("TestDurableFunction", Connection = "StorageConnectionString")] string queueItem,
                                 [DurableClient] IDurableOrchestrationClient starter)
        {
            await starter.StartNewAsync("Orchestration", queueItem);
        }

我将 json 字符串作为编排 function 的参数传递,但 context.GetInput(); 总是返回 null

[FunctionName("Orchestration")]
public static async void Run([OrchestrationTrigger] IDurableOrchestrationContext context) 
        {
            var input = context.GetInput<string>();

            var orders = JsonConvert.DeserializeObject<List<OrdenTiendaFacturarModel>>(input);

            var parallelTasks = new List<Task<string>>();

            foreach (var order in orders)
            {
                var task = context.CallActivityAsync<string>("BillOrder", order);                
                parallelTasks.Add(task);
            }

            await Task.WhenAll(parallelTasks);
        }

有什么帮助吗?

我解决了这个问题,由于某种原因,StartNewAsync 的执行对于第二个参数是 instanceId 的重载。

Task<string> StartNewAsync(string orchestratorFunctionName, string instanceId = null);

我期待执行这个重载:

Task<string> StartNewAsync<T>(string orchestratorFunctionName, T input)

我的 queueItem 是一个字符串,出于这个原因,function 第一次过载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM