我刚开始接触Azure Durable函数,并且一直在按照《Azure 无服务器计算食谱》中的示例代码进行操作。但是,我的Orchestrator中的.GetInput函数返回了null,导致程序卡住。我的Blob触发器将文件名作为参数传递给我的Orchestrator。我认为它调用了错误的重载函数,但不确定如何调用正确的函数。
await starter.StartNewAsync("CSVImport_Orchestrator", name);
[FunctionName("CSVImport_Orchestrator")]
public static async Task<List<string>> RunOrchestrator([OrchestrationTrigger] IDurableOrchestrationContext context)
{
var outputs = new List<string>();
string CSVFileName = context.GetInput<string>(); //<<== returns null???
{
List<Employee> employees = await context.CallActivityAsync<List<Employee>>("ReadCSV_AT", CSVFileName);
}
return outputs;
}
[FunctionName("CSVImportBlobTrigger")]
public static async void Run([BlobTrigger("import-obiee-report/{name}", Connection = "StorageConnection")]Stream myBlob, string name, [DurableClient]IDurableOrchestrationClient starter, ILogger log)
{
string instanceId = await starter.StartNewAsync("CSVImport_Orchestrator", name);
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
提前感谢您的帮助。