ConnectionRetryPolicy Classe

Herança
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Construtor

ConnectionRetryPolicy(**kwargs)

Métodos

configure_retries

Define as configurações de repetição.

get_backoff_time

Retorna o tempo de retirada atual.

get_retry_after

Obtenha o valor de Retry-After em segundos.

increment

Incremente os contadores de repetição.

is_exhausted

Verifica se há novas tentativas restantes.

is_retry

Verifica se o código de método/status é repetível.

Com base em listas de permitidos e variáveis de controle, como o número de repetições totais a permitir, se deve respeitar o cabeçalho Retry-After, se esse cabeçalho está presente e se o código de status retornado está na lista de códigos status a serem repetidos na presença do cabeçalho mencionado acima.

O comportamento é:

  •   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

Desabilitar novas tentativas.

parse_retry_after

Auxiliar para analisar Retry-After e obter valor em segundos.

send

Envia o objeto PipelineRequest para a próxima política. Usa configurações de repetição, se necessário. Também impõe um tempo limite absoluto do lado do cliente que abrange várias tentativas de repetição.

sleep

Suspensão entre tentativas de repetição.

Esse método respeitará o cabeçalho de resposta de Retry-After um servidor e suspenderá a duração do tempo solicitado. Se isso não estiver presente, ele usará uma retirada exponencial. Por padrão, o fator de retirada é 0 e esse método retornará imediatamente.

update_context

Atualizações histórico de repetições no contexto do pipeline.

configure_retries

Define as configurações de repetição.

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

Parâmetros

Nome Description
options
Obrigatório

palavra-chave argumentos do contexto.

Retornos

Tipo Description

Um ditado que contém configurações e histórico para novas tentativas.

get_backoff_time

Retorna o tempo de retirada atual.

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

Parâmetros

Nome Description
settings
Obrigatório

As configurações de repetição.

Retornos

Tipo Description

O valor de retirada atual.

get_retry_after

Obtenha o valor de Retry-After em segundos.

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

Parâmetros

Nome Description
response
Obrigatório

O objeto PipelineResponse

Retornos

Tipo Description

Valor de Retry-After em segundos.

increment

Incremente os contadores de repetição.

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

Parâmetros

Nome Description
settings
Obrigatório

As configurações de repetição.

response

Um objeto de resposta de pipeline.

valor padrão: None
error

Um erro encontrado durante a solicitação ou Nenhum se a resposta foi recebida com êxito.

valor padrão: None

Retornos

Tipo Description

Se alguma tentativa de repetição estiver disponível True se houver mais tentativas de repetição disponíveis, caso contrário, False

is_exhausted

Verifica se há novas tentativas restantes.

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

Parâmetros

Nome Description
settings
Obrigatório

as configurações de repetição

Retornos

Tipo Description

False se tiver mais tentativas. True se novas tentativas se esgotarem.

is_retry

Verifica se o código de método/status é repetível.

Com base em listas de permitidos e variáveis de controle, como o número de repetições totais a permitir, se deve respeitar o cabeçalho Retry-After, se esse cabeçalho está presente e se o código de status retornado está na lista de códigos status a serem repetidos na presença do cabeçalho mencionado acima.

O comportamento é:

  •   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

Parâmetros

Nome Description
settings
Obrigatório

As configurações de repetição.

response
Obrigatório

O objeto PipelineResponse

Retornos

Tipo Description

True se o código de método/status for repetível. False se não for repetível.

no_retries

Desabilitar novas tentativas.

no_retries() -> ClsRetryPolicy

Retornos

Tipo Description

Uma política de repetição com novas tentativas desabilitadas.

parse_retry_after

Auxiliar para analisar Retry-After e obter valor em segundos.

parse_retry_after(retry_after: str) -> float

Parâmetros

Nome Description
retry_after
Obrigatório
str

cabeçalho Retry-After

Retornos

Tipo Description

Valor de Retry-After em segundos.

send

Envia o objeto PipelineRequest para a próxima política. Usa configurações de repetição, se necessário. Também impõe um tempo limite absoluto do lado do cliente que abrange várias tentativas de repetição.

send(request)

Parâmetros

Nome Description
request
Obrigatório

O objeto PipelineRequest

Retornos

Tipo Description

Retorna o PipelineResponse ou gera o erro se as tentativas máximas forem excedidas.

Exceções

Tipo Description

Máximo de repetições excedidas.

Tempo limite especificado excedido.

Falha na autenticação.

sleep

Suspensão entre tentativas de repetição.

Esse método respeitará o cabeçalho de resposta de Retry-After um servidor e suspenderá a duração do tempo solicitado. Se isso não estiver presente, ele usará uma retirada exponencial. Por padrão, o fator de retirada é 0 e esse método retornará imediatamente.

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

Parâmetros

Nome Description
settings
Obrigatório

As configurações de repetição.

transport
Obrigatório

O tipo de transporte HTTP.

response

O objeto PipelineResponse.

valor padrão: None

update_context

Atualizações histórico de repetições no contexto do pipeline.

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

Parâmetros

Nome Description
context
Obrigatório

O contexto do pipeline.

retry_settings
Obrigatório

As configurações de repetição.

Atributos

BACKOFF_MAX

Tempo máximo de retirada.

BACKOFF_MAX = 120

next

Ponteiro para a próxima política ou um transporte (encapsulado como uma política). Será definido na criação do pipeline.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]