대기중인 스토리지에 의해 트리거 된 웹 작업이 있으며 새 메시지를 받으면 웹 API 호출이 생성됩니다. 나는 fiddler에서 get 요청을 테스트했고 작동하지만 webjob 내에서 httpclient getasync를 통해 요청을하면 500 내부 서버 오류가 발생합니다. webjob 내에서 웹 API 호출을 할 수 있습니까?Azure App 서비스 WebJob httpclient getasync 요청으로 500 내부 서버 오류가 발생했습니다.
답변
나는 fiddler에서 get 요청을 테스트했지만 제대로 작동하지만 webjob에서 httpclient getasync를 통해 요청을하면 500 내부 서버 오류가 발생합니다.
내가 아는 한, 500 내부 서버 오류는 웹 API 서버 쪽에서 발생합니다. 웹 API 응용 프로그램에서 try-catch로 코드를 래핑하고 자세한 오류를 찾으십시오.
webjob에서 웹 API를 호출 할 수 있습니까?
WebJob에서 http 요청을 보낼 수 있습니다. 내 코드 샘플은 내 편이 나 Azure 모두에서 잘 작동 할 수 있습니다. 참조 할 수 있습니다.
Functions.cs
// This function will get triggered/executed when a new message is written
// on an Azure Queue called queue.
public static async void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
{
log.WriteLine(message);
string requestUrl = "https://bruce-chen-001.azurewebsites.net/api/values";
HttpClient client = new HttpClient();
var response = await client.GetAsync(requestUrl);
log.WriteLine("response:{0}", await response.Content.ReadAsStringAsync());
}
결과
response:["value1","value2"]
덕분에 위의 테스트 메소드와 비슷한 기능을 가지고 있는데 아래에 연결된 webjobs가 아닌 다른 앱 API 서비스를 호출 할 때 제대로 작동합니다. – rjespera
public static void ProcessQueueMessage ([ QueueTrigger ("queueName")] 문자열 메시지, TextWriter 로그) { HttpClient client = new HttpClient(); client.Timeout = TimeSpan.FromMinutes (15); var response = 클라이언트를 기다립니다 .GetAsync (새 Uri ("http : // localhost : 1100/api/values / 1")); using (HttpContent content = response.Content) { if (response.StatusCode == System.Net.HttpStatusCode.OK) { string result = await content.ReadAsStringAsync(); } } } – rjespera
webjob을 다른 api 앱으로 옮길 때 같은 코드가 정상적으로 작동했습니다. 다시 이것은 로컬 테스트이며 모든 URL은 localhost입니다. – rjespera
- 1. Xamarin Forms HttpClient GetAsync
- 2. 500 내부 서버 오류가 발생했습니다. HTACCESS
- 3. Azure 500 내부 서버 오류를 디버그하는 방법
- 4. 500 내부 서버 오류가
- 5. 500 내부 서버 오류가
- 6. RewriteRule에서 500 내부 서버 오류가 발생했습니다.
- 7. laravel에서 500 내부 서버 오류가 발생했습니다.
- 8. asp.net 3.5에서 500 내부 서버 오류가 발생했습니다.
- 9. 장고 로깅에서 500 내부 서버 오류가 발생했습니다
- 10. dreamhost에서 django로 500 내부 서버 오류가 발생했습니다.
- 11. 500 Codeigniter 배포시 내부 서버 오류가 발생했습니다.
- 12. .htacess 파일에서 500 내부 서버 오류가 발생했습니다
- 13. 아약스가있는 레일에 500 내부 서버 오류가 발생했습니다.
- 14. 휴식시 500 내부 서버 오류가 발생했습니다.
- 15. 500 내부 서버 이미지 업로드시 오류가 발생했습니다.
- 16. HttpClient GetAsync 교수형
- 17. azure 500 내부 서버 오류의 httphandlers
- 18. WCF 휴식 서비스 500 내부 서버 오류
- 19. rails app에 500 내부 서버 오류가 발생했습니다. (heroku log posted)
- 20. amazon 호스팅에서 오류가 발생할 때 500 내부 서버 오류가 발생했습니다
- 21. wordpress 사이트에 500 내부 서버 오류가 발생합니까?
- 22. Magento가 centos 7에 설치되기 전에 500 내부 서버 오류가 발생했습니다
- 23. 서버에 500 개의 내부 서버 오류가 발생했습니다. 로컬로 작동합니다.
- 24. Gettin 500 내부 서버 아약스 요청시 레일에 오류가 발생했습니다.
- 25. Kaltura - 내부 서버 오류가 발생했습니다.
- 26. Webclient.UploadString 내부 서버 오류가 발생했습니다
- 27. POST가 작동하지 않아서 angularjs에서 500 내부 서버 오류가 발생했습니다
- 28. Google App 배포시 django-nonrel 500 서버 오류가 발생했습니다.
- 29. Azure App 서비스 계획의 ASP.NET MVC 작업에서 내부 서버 오류가 반환되었습니다.
- 30. 500 내부 서버 오류는
나는 몇 가지 테스트를 해봤하고 그것이 붙어하여 API를 응용 프로그램에서 방법을 요구하는 webjob처럼 보인다 500 내부 서버 오류가 발생하지만 다른 웹 API를 호출하면 작동합니다. 왜 이런 일이 일어나는 지 아는 사람이 있거나 내가 잘못한 일을하는 경우 그 이야기를 듣고 싶습니다. 그런데이 테스트는 하늘빛으로의 사전 배치입니다. 그것은 로컬 컴퓨터에서 수행됩니다. – rjespera