다음을 통해 공유


ConnectionRetryPolicy 클래스

상속
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

생성자

ConnectionRetryPolicy(**kwargs)

메서드

configure_retries

다시 시도 설정을 구성합니다.

get_backoff_time

현재 백오프 시간을 반환합니다.

get_retry_after

Retry-After 값을 초 단위로 가져옵니다.

increment

재시도 카운터를 증분합니다.

is_exhausted

재시도가 남았는지 확인합니다.

is_retry

메서드/상태 코드를 다시 시도할 수 있는지 확인합니다.

허용되는 총 재시도 횟수, Retry-After 헤더를 준수할지 여부, 이 헤더가 있는지 여부, 반환된 상태 코드가 앞에서 언급한 헤더의 존재 여부에 따라 다시 시도될 상태 코드 목록에 있는지 여부와 같은 허용 목록 및 제어 변수를 기반으로 합니다.

동작은 다음과 같습니다.

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
no_retries

재시도를 사용하지 않도록 설정합니다.

parse_retry_after

Retry-After 구문 분석하고 초 단위로 값을 가져오는 도우미입니다.

send

PipelineRequest 개체를 다음 정책으로 보냅니다. 필요한 경우 다시 시도 설정을 사용합니다. 또한 여러 번의 다시 시도에 걸쳐 있는 절대 클라이언트 쪽 시간 제한을 적용합니다.

sleep

재시도 사이에 절전 모드로 전환합니다.

이 메서드는 서버의 Retry-After 응답 헤더를 준수하고 요청된 시간을 절전 모드로 설정합니다. 이 값이 없으면 지수 백오프를 사용합니다. 기본적으로 백오프 요소는 0이고 이 메서드는 즉시 반환됩니다.

update_context

파이프라인 컨텍스트에서 재시도 기록을 업데이트.

configure_retries

다시 시도 설정을 구성합니다.

configure_retries(options: Dict[str, Any]) -> Dict[str, Any]

매개 변수

Name Description
options
필수

컨텍스트에서 인수를 키워드(keyword).

반환

형식 Description

다시 시도에 대한 설정 및 기록을 포함하는 받아쓰기입니다.

get_backoff_time

현재 백오프 시간을 반환합니다.

get_backoff_time(settings: Dict[str, Any]) -> float

매개 변수

Name Description
settings
필수

다시 시도 설정입니다.

반환

형식 Description

현재 백오프 값입니다.

get_retry_after

Retry-After 값을 초 단위로 가져옵니다.

get_retry_after(response: PipelineResponse[Any, AllHttpResponseType]) -> float | None

매개 변수

Name Description
response
필수

PipelineResponse 개체

반환

형식 Description

Retry-After 값(초)입니다.

increment

재시도 카운터를 증분합니다.

increment(settings: Dict[str, Any], response: PipelineRequest[HTTPRequestType] | PipelineResponse[HTTPRequestType, AllHttpResponseType] | None = None, error: Exception | None = None) -> bool

매개 변수

Name Description
settings
필수

다시 시도 설정입니다.

response

파이프라인 응답 개체입니다.

기본값: None
error

요청 중에 발생한 오류 또는 응답이 성공적으로 수신된 경우 None입니다.

기본값: None

반환

형식 Description

더 많은 재시도를 사용할 수 있는 경우 재시도를 사용할 수 있는지 여부 True이고, 그렇지 않으면 False입니다.

is_exhausted

재시도가 남았는지 확인합니다.

is_exhausted(settings: Dict[str, Any]) -> bool

매개 변수

Name Description
settings
필수

다시 시도 설정

반환

형식 Description

False이면 다시 시도합니다. True이면 다시 시도합니다.

is_retry

메서드/상태 코드를 다시 시도할 수 있는지 확인합니다.

허용되는 총 재시도 횟수, Retry-After 헤더를 준수할지 여부, 이 헤더가 있는지 여부, 반환된 상태 코드가 앞에서 언급한 헤더의 존재 여부에 따라 다시 시도될 상태 코드 목록에 있는지 여부와 같은 허용 목록 및 제어 변수를 기반으로 합니다.

동작은 다음과 같습니다.

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
is_retry(settings: Dict[str, Any], response: PipelineResponse[HTTPRequestType, AllHttpResponseType]) -> bool

매개 변수

Name Description
settings
필수

다시 시도 설정입니다.

response
필수

PipelineResponse 개체

반환

형식 Description

true이면 메서드/상태 코드를 다시 시도할 수 있습니다. False이면 다시 시도할 수 없습니다.

no_retries

재시도를 사용하지 않도록 설정합니다.

no_retries() -> ClsRetryPolicy

반환

형식 Description

재시도를 사용하지 않도록 설정한 재시도 정책입니다.

parse_retry_after

Retry-After 구문 분석하고 초 단위로 값을 가져오는 도우미입니다.

parse_retry_after(retry_after: str) -> float

매개 변수

Name Description
retry_after
필수
str

Retry-After 헤더

반환

형식 Description

Retry-After 값(초)입니다.

send

PipelineRequest 개체를 다음 정책으로 보냅니다. 필요한 경우 다시 시도 설정을 사용합니다. 또한 여러 번의 다시 시도에 걸쳐 있는 절대 클라이언트 쪽 시간 제한을 적용합니다.

send(request)

매개 변수

Name Description
request
필수

PipelineRequest 개체

반환

형식 Description

PipelineResponse를 반환하거나 최대 재시도를 초과하면 오류가 발생합니다.

예외

형식 Description

최대 재시도를 초과했습니다.

지정된 시간 제한이 초과되었습니다.

인증에 실패했습니다.

sleep

재시도 사이에 절전 모드로 전환합니다.

이 메서드는 서버의 Retry-After 응답 헤더를 준수하고 요청된 시간을 절전 모드로 설정합니다. 이 값이 없으면 지수 백오프를 사용합니다. 기본적으로 백오프 요소는 0이고 이 메서드는 즉시 반환됩니다.

sleep(settings: Dict[str, Any], transport: HttpTransport[HTTPRequestType, HTTPResponseType], response: PipelineResponse[HTTPRequestType, HTTPResponseType] | None = None) -> None

매개 변수

Name Description
settings
필수

다시 시도 설정입니다.

transport
필수

HTTP 전송 형식입니다.

response

PipelineResponse 개체입니다.

기본값: None

update_context

파이프라인 컨텍스트에서 재시도 기록을 업데이트.

update_context(context: PipelineContext, retry_settings: Dict[str, Any]) -> None

매개 변수

Name Description
context
필수

파이프라인 컨텍스트입니다.

retry_settings
필수

다시 시도 설정입니다.

특성

BACKOFF_MAX

최대 백오프 시간입니다.

BACKOFF_MAX = 120

next

다음 정책 또는 전송(정책으로 래핑됨)에 대한 포인터입니다. 파이프라인을 만들 때 설정됩니다.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]