Condividi tramite


ConnectionRetryPolicy Classe

Ereditarietà
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

Costruttore

ConnectionRetryPolicy(**kwargs)

Metodi

configure_retries

Configura le impostazioni di ripetizione dei tentativi.

get_backoff_time

Restituisce il tempo di backoff corrente.

get_retry_after

Ottenere il valore di Retry-After in secondi.

increment

Incrementare i contatori dei tentativi.

is_exhausted

Verifica se vengono eseguiti tentativi.

is_retry

Verifica se il codice metodo/stato è riprovabile.

In base alle variabili consentite e di controllo, ad esempio il numero di tentativi totali da consentire, se rispettare l'intestazione Retry-After, se questa intestazione è presente e se il codice di stato restituito è nell'elenco dei codici di stato da ripetere sulla presenza dell'intestazione precedente.

Il 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

Disabilitare i tentativi.

parse_retry_after

Helper per analizzare Retry-After e ottenere il valore in secondi.

send

Invia l'oggetto PipelineRequest al criterio successivo. Usa le impostazioni di ripetizione dei tentativi, se necessario. Applica anche un timeout lato client assoluto che si estende su più tentativi di ripetizione.

sleep

Sospensione tra tentativi di ripetizione.

Questo metodo rispetta l'intestazione di risposta di Retry-After un server e dorme la durata dell'ora richiesta. Se non è presente, userà un backoff esponenziale. Per impostazione predefinita, il fattore backoff è 0 e questo metodo restituirà immediatamente.

update_context

Aggiornamenti cronologia dei tentativi nel contesto della pipeline.

configure_retries

Configura le impostazioni di ripetizione dei tentativi.

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

Parametri

Nome Descrizione
options
Necessario

argomenti delle parole chiave dal contesto.

Restituisce

Tipo Descrizione

Un dict contenente impostazioni e cronologia per i tentativi.

get_backoff_time

Restituisce il tempo di backoff corrente.

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

Parametri

Nome Descrizione
settings
Necessario

Impostazioni di ripetizione dei tentativi.

Restituisce

Tipo Descrizione

Valore di backoff corrente.

get_retry_after

Ottenere il valore di Retry-After in secondi.

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

Parametri

Nome Descrizione
response
Necessario

Oggetto PipelineResponse

Restituisce

Tipo Descrizione

Valore di Retry-After in secondi.

increment

Incrementare i contatori dei tentativi.

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

Parametri

Nome Descrizione
settings
Necessario

Impostazioni di ripetizione dei tentativi.

response

Oggetto di risposta della pipeline.

valore predefinito: None
error

Errore durante la richiesta o Nessuna se la risposta è stata ricevuta correttamente.

valore predefinito: None

Restituisce

Tipo Descrizione

Se è disponibile un tentativo di ripetizione dei tentativi True se sono disponibili altri tentativi, False in caso contrario, False

is_exhausted

Verifica se vengono eseguiti tentativi.

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

Parametri

Nome Descrizione
settings
Necessario

impostazioni di ripetizione dei tentativi

Restituisce

Tipo Descrizione

False se hanno più tentativi. True se i tentativi sono esauriti.

is_retry

Verifica se il codice metodo/stato è riprovabile.

In base alle variabili consentite e di controllo, ad esempio il numero di tentativi totali da consentire, se rispettare l'intestazione Retry-After, se questa intestazione è presente e se il codice di stato restituito è nell'elenco dei codici di stato da ripetere sulla presenza dell'intestazione precedente.

Il 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

Parametri

Nome Descrizione
settings
Necessario

Impostazioni di ripetizione dei tentativi.

response
Necessario

Oggetto PipelineResponse

Restituisce

Tipo Descrizione

True se il codice metodo/stato è riprovabile. False se non è possibile riprovare.

no_retries

Disabilitare i tentativi.

no_retries() -> ClsRetryPolicy

Restituisce

Tipo Descrizione

Criteri di ripetizione dei tentativi con tentativi disabilitati.

parse_retry_after

Helper per analizzare Retry-After e ottenere il valore in secondi.

parse_retry_after(retry_after: str) -> float

Parametri

Nome Descrizione
retry_after
Necessario
str

intestazione Retry-After

Restituisce

Tipo Descrizione

Valore di Retry-After in secondi.

send

Invia l'oggetto PipelineRequest al criterio successivo. Usa le impostazioni di ripetizione dei tentativi, se necessario. Applica anche un timeout lato client assoluto che si estende su più tentativi di ripetizione.

send(request)

Parametri

Nome Descrizione
request
Necessario

Oggetto PipelineRequest

Restituisce

Tipo Descrizione

Restituisce l'errore PipelineResponse o genera un errore se sono stati superati i tentativi massimi.

Eccezioni

Tipo Descrizione

È stato superato il numero massimo di tentativi.

Superato il timeout specificato.

Autenticazione non riuscita.

sleep

Sospensione tra tentativi di ripetizione.

Questo metodo rispetta l'intestazione di risposta di Retry-After un server e dorme la durata dell'ora richiesta. Se non è presente, userà un backoff esponenziale. Per impostazione predefinita, il fattore backoff è 0 e questo metodo restituirà immediatamente.

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

Parametri

Nome Descrizione
settings
Necessario

Impostazioni di ripetizione dei tentativi.

transport
Necessario

Tipo di trasporto HTTP.

response

Oggetto PipelineResponse.

valore predefinito: None

update_context

Aggiornamenti cronologia dei tentativi nel contesto della pipeline.

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

Parametri

Nome Descrizione
context
Necessario

Contesto della pipeline.

retry_settings
Necessario

Impostazioni di ripetizione dei tentativi.

Attributi

BACKOFF_MAX

Tempo di backoff massimo.

BACKOFF_MAX = 120

next

Puntatore al criterio successivo o a un trasporto (eseguito come criterio). Verrà impostato alla creazione della pipeline.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]