Я новичок в функции Durable (функция оркестрации) и видел образец приложения в соответствии с документацией Microsoft, поэтому у меня мало сомнений.
пример:
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, methods: "post",
Route = "orchestrators/{functionName}")] HttpRequestMessage req,
[OrchestrationClient] DurableOrchestrationClient starter,
string functionName,
TraceWriter log)
{
// Function input comes from the request content.
dynamic eventData = await req.Content.ReadAsAsync<object>();
string instanceId = await starter.StartNewAsync(functionName, eventData);
log.Info($"Started orchestration with ID = '{instanceId}'.");
return starter.CreateCheckStatusResponse(req, instanceId);
}
чтобы вызвать его, я сделал HTTP-запрос POST с помощью почтальона, поэтому запрос был успешно обработан, но когда я настроил другой глагол, например HTTP GET, он получил ответ с ошибкой NotFound в консоли, а также запрос, сделанный к нему с HTTP-запросом из браузера, ответил с ошибкой «NotFound» в консоли. Почему это произошло?
Могу ли я вызвать любую функцию оркестрации с помощью функции лазурного триггера таймера?
Если нет, то почему?
ОБНОВЛЕНИЕ:
Некоторые дополнительные сведения о вопросе
[FunctionName("TimerTrigger")]
public static async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log)
{//this runs for every 5minutes
using (HttpClient client = new HttpClient())
{
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("", "")
});
//making request to above function by http trigger
var result = await client.PostAsync("http://localhost:7071/orchestrators/E1_HelloSequence", content);
}
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
return;
}
Могу ли я сделать запрос на триггер http по срабатыванию таймера, почему, потому что моя долговечная функция имеет длительный процесс, поэтому, если вызвать функцию оркестрации в самом триггере таймера, может возникнуть вероятность тайм-аута, запускаемого таймером, поэтому я пытаюсь следовать этому подходу. можно вызвать по приведенному выше коду?