논리 앱 웹 후크 및 칠판 API에서 시간 제한 기간을 어떻게 변경합니까?
내가 얻는 오류 메시지는 다음과 같습니다.
"message": "Http 요청 실패 : 서버가 제한 시간 내에 응답하지 않았습니다. https://aka.ms/logic-apps-limits-and-config#http-limits 에서 논리 앱 제한을 참조하십시오."
웹훅 작업 패턴을 사용하여 장기 실행 작업 수행을 참조 할 수 있습니다 .
웹훅 패턴을 이해 한 후 일부 코드를 디자인해야합니다. 다음 샘플을 참조 할 수 있습니다.
using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs.Host;
using Newtonsoft.Json;
using System.Threading;
using System.Net.Http;
using System;
namespace HttpToQueueWebhook
{
public static class HttpTrigger
{
[FunctionName("HttpTrigger")]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "post")]HttpRequest req,
TraceWriter log,
[Queue("process")]out ProcessRequest process)
{
log.Info("Webhook request from Logic Apps received.");
string requestBody = new StreamReader(req.Body).ReadToEnd();
dynamic data = JsonConvert.DeserializeObject(requestBody);
string callbackUrl = data?.callbackUrl;
//This will drop a message in a queue that QueueTrigger will pick up
process = new ProcessRequest { callbackUrl = callbackUrl, data = "some data" };
return new AcceptedResult();
}
public static HttpClient client = new HttpClient();
/// <summary>
/// Queue trigger function to pick up item and do long work. Will then invoke
/// the callback URL to have logic app continue
/// </summary>
[FunctionName("QueueTrigger")]
public static void Run([QueueTrigger("process")]ProcessRequest item, TraceWriter log)
{
log.Info($"C# Queue trigger function processed: {item.data}");
//Thread.Sleep(TimeSpan.FromMinutes(3));
//ProcessResponse result = new ProcessResponse { data = "some result data" };
//handle your business here.
client.PostAsJsonAsync<ProcessResponse>(item.callbackUrl, result);
}
}
public class ProcessRequest
{
public string callbackUrl { get; set; }
public string data { get; set; }
}
public class ProcessResponse
{
public string data { get; set; }
}
}
위의 코드는 먼저 사용자 callbackUrl
및 전달 된 데이터를 큐에 저장 한 다음 202의 결과를 논리 앱에 반환합니다.
QueueTrigger
기능이 트리거 될 것입니다, 당신은 여기에 귀하의 비즈니스를 처리 할 수 있습니다.
Azure 논리 앱에서 다음과 같이 http 함수를 호출 할 수 있습니다.
이 솔루션은 http 시간 초과 문제를 해결하는 데 도움이 될 수 있습니다. 자세한 내용은이 도움말을 참조 하세요 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다