를 사용하여 상태 코드 처리 Web.Contents

Web.Contents 함수에는 특정 HTTP 상태 코드를 처리하기 위한 몇 가지 기본 제공 기능이 있습니다. ManualStatusHandling의 필드를 사용하여 확장의 기본 동작을 재정의 할 수 있습니다.

자동 다시 시도

Web.Contents는 다음 상태 코드 중 하나로 실패한 요청을 자동으로 다시 시도합니다.

코드 상태
408 요청 시간 초과
429 요청이 너무 많음
503 서비스를 사용할 수 없습니다.
504 게이트웨이 시간 제한
509 대역폭 제한을 초과했습니다.

함수는 실패하기 전에 요청을 최대 세 번 다시 시도합니다. 응답에 헤더가 포함되지 않는 한 엔진은 지수 백오프 알고리즘을 사용하여 다음 재시도까지 대기하는 시간을 결정합니다 Retry-after . 헤더가 발견되면 엔진은 다음 재시도 전에 지정된 시간(초)을 기다립니다. 지원되는 최소 대기 시간은 0.5초이고 최대값은 120초입니다.

비고

Retry-after 값은 delta-seconds 형식이어야 합니다. 형식은 HTTP-date 현재 지원되지 않습니다.

인증 예외

다음 상태 코드는 자격 증명 예외를 발생합니다. 예외는 OAuth 토큰이 만료된 경우 사용자에게 자격 증명을 제공하거나 다시 로그인하라는 메시지를 표시합니다.

코드 상태
401 Unauthorized
403 금지

비고

확장은 상태 코드 401 및 403과 함께 ManualStatusHandling 옵션을 사용할 수 있습니다. 사용자 지정 데이터 커넥터 외부에서 수행된 호출(즉, 파워 쿼리 직접)에서는 이 옵션을 Web.Contents 사용할 수 없습니다.

Redirection

다음 상태 코드는 Location 헤더에 지정된 URI로 자동으로 리디렉션합니다. 헤더가 누락 Location 되면 오류가 발생합니다.

코드 상태
300 여러 선택 항목
301 영구적으로 이동
302 발견됨
303 기타 참조
307 임시 리디렉션

비고

상태 코드 307만 요청 메서드를 POST 유지합니다. 다른 모든 리디렉션 상태 코드는 .로 전환됩니다 GET.