시간 트리거 Azure 함수를 로컬에서 디버깅하는 방법
물론 개발 시간을 최적화하기 위해 타이머를 매번 기다릴 수는 없습니다(특히 타이머가 매일 아침 7:00AM인 경우 🙂).
트리거를 기다리는 데 시간을 낭비할 수 없고 즉시 트리거되는 Azure 함수 시간을 시작하는 방법을 살펴보겠습니다.
해결책
Azure Function의 기본 메서드에는 기본적으로 숨겨진 "RunOnStartup"이라는 매개 변수가 있습니다.
시작 시 Azure 함수를 실행하려면 true로 설정하고 디버그 세션을 다시 시작합니다.
[FunctionName("Function1")]
public void Run([TimerTrigger("0 */5 * * * *", RunOnStartup = true)]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
그런데 이 경우 Azure Function을 다시 시작하거나 새 버전의 함수를 배포할 때 프로덕션 환경에서도 함수가 시작됩니다.
이를 방지하기 위해 함수 메서드에서 조건부 컴파일 지시문을 사용할 수 있습니다.
#if DEBUG
RunOnStartup= true
#endif
아래에서 디버그 예외에 대한 컴파일 지시문이 포함된 전체 코드를 찾을 수 있습니다.
[FunctionName("Function1")]
public void Run([TimerTrigger("0 */5 * * * *",
#if DEBUG
RunOnStartup= true
#endif
)]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
그게 다야!
행복한 디버깅. 🦸
Reference
이 문제에 관하여(시간 트리거 Azure 함수를 로컬에서 디버깅하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kasuken/how-to-debug-a-time-trigger-azure-function-locally-2850텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)