// Copyright (c) Microsoft. All rights reserved. using Microsoft.Azure.Functions.Worker; using Microsoft.Azure.Functions.Worker.Http; using Microsoft.DurableTask; using Microsoft.DurableTask.Client; using Microsoft.Extensions.Logging; namespace SingleAgent; public static class OrchFunction { [Function(nameof(OrchFunction))] public static async Task> RunOrchestratorAsync( [OrchestrationTrigger] TaskOrchestrationContext context) { ILogger logger = context.CreateReplaySafeLogger(nameof(OrchFunction)); logger.LogInformation("Saying hello."); var outputs = new List(); outputs.Add("Tokyo"); return outputs; } [Function("OrchFunction_HttpStart")] public static async Task HttpStartAsync( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req, [DurableClient] DurableTaskClient client, FunctionContext executionContext) { // Function input comes from the request content. string instanceId = await client.ScheduleNewOrchestrationInstanceAsync( nameof(OrchFunction)); // Returns an HTTP 202 response with an instance management payload. // See https://learn.microsoft.com/azure/azure-functions/durable/durable-functions-http-api#start-orchestration return await client.CreateCheckStatusResponseAsync(req, instanceId); } }