Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Tentativi

Modalità Focus
Tentativi - AWS SDK for Rust

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS SDK for Rust Fornisce un comportamento di ripetizione predefinito e opzioni di configurazione personalizzabili. Chiamate per restituire Servizi AWS occasionalmente eccezioni impreviste. Alcuni tipi di errori, come gli errori di limitazione o gli errori transitori, potrebbero avere esito positivo se la chiamata viene ritentata.

Il comportamento dei tentativi può essere configurato globalmente utilizzando le variabili o le impostazioni di ambiente nel file condiviso. AWS config Per informazioni su questo approccio, consulta Retry behavior nella AWS SDKs and Tools Reference Guide. Include anche informazioni dettagliate sulle implementazioni della strategia Retry e su come sceglierne una piuttosto che un'altra.

In alternativa, queste opzioni possono essere configurate anche nel codice, come illustrato nelle sezioni seguenti.

Configurazione predefinita dei nuovi tentativi

Ogni client di servizio utilizza per impostazione predefinita la configurazione della strategia di standard riprova fornita tramite la struttura. RetryConfig Per impostazione predefinita, una chiamata verrà tentata tre volte (il tentativo iniziale, più due tentativi). Inoltre, ogni nuovo tentativo verrà posticipato di una breve durata casuale per evitare tempeste di tentativi. Questa convenzione è adatta per la maggior parte dei casi d'uso, ma potrebbe non essere adatta in circostanze specifiche, come i sistemi ad alta produttività.

Solo alcuni tipi di errori sono considerati correggibili da. SDKs Esempi di errori riutilizzabili sono:

  • timeout del socket

  • limitazione sul lato dei servizi

  • errori di servizio transitori come le risposte HTTP 5XX

I seguenti esempi non sono considerati riutilizzabili:

  • Parametri mancanti o non validi

  • errori di autenticazione/sicurezza

  • eccezioni di configurazione errata

È possibile personalizzare la strategia di standard riprova impostando il numero massimo di tentativi, ritardi e configurazione di backoff.

Numero massimo di tentativi

Puoi personalizzare il numero massimo di tentativi nel tuo codice fornendo una modifica RetryConfigal tuoaws_config::defaults:

const CUSTOM_MAX_ATTEMPTS: u32 = 5; let retry_config = RetryConfig::standard() // Set max attempts. When max_attempts is 1, there are no retries. // This value MUST be greater than zero. // Defaults to 3. .with_max_attempts(CUSTOM_MAX_ATTEMPTS); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

Ritardi e arretramenti

Se è necessario un nuovo tentativo, la strategia di riprova predefinita attende prima di effettuare il tentativo successivo. Il ritardo per il primo tentativo è piccolo, ma aumenta esponenzialmente per i tentativi successivi. La quantità massima di ritardo è limitata in modo che non diventi troppo grande.

Il jitter casuale viene applicato ai ritardi tra tutti i tentativi. Il jitter aiuta a mitigare l'effetto delle flotte di grandi dimensioni che possono causare tempeste di ritardi. Per una discussione più approfondita su backoff e jitter esponenziali, vedete Exponential Backoff and Jitter nel blog di architettura.AWS

Puoi personalizzare le impostazioni di ritardo nel tuo codice fornendo una modifica al tuo. RetryConfigaws_config::defaults Il codice seguente imposta la configurazione in modo da ritardare il primo tentativo fino a 100 millisecondi e che il tempo massimo tra un tentativo e l'altro sia di 5 secondi.

let retry_config = RetryConfig::standard() // Defaults to 1 second. .with_initial_backoff(Duration::from_millis(100)) // Defaults to 20 seconds. .with_max_backoff(Duration::from_secs(5)); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

Modalità di riprova adattiva

In alternativa alla strategia Mode Retry, la standard adaptive Mode Retry Strategy è un approccio avanzato che punta alla frequenza di richiesta ideale per ridurre al minimo gli errori di throttling.

Nota

Adaptive retry è una modalità di riprova avanzata. L'utilizzo di questa strategia in genere non è consigliato. Vedi Comportamento dei tentativi nella Guida di riferimento agli strumenti AWS SDKs e agli strumenti.

I tentativi adattivi includono tutte le funzionalità dei nuovi tentativi standard. Aggiunge un limitatore di velocità sul lato client che misura la frequenza delle richieste limitate rispetto alle richieste non limitate. Inoltre limita il traffico per cercare di rimanere entro una larghezza di banda sicura, evitando idealmente errori di limitazione.

La tariffa si adatta in tempo reale alle mutevoli condizioni di servizio e ai modelli di traffico e potrebbe aumentare o diminuire di conseguenza la velocità di traffico. In modo critico, il limitatore di velocità potrebbe ritardare i tentativi iniziali in scenari di traffico intenso.

È possibile selezionare la strategia di adaptive riprova nel codice fornendo una modifica: RetryConfig

let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(RetryConfig::adaptive()) .load() .await;
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.