Cette documentation ne concerne AWS CLI que la version 1 du.
Nous avons annoncé la fin prochaine du support pour la AWS CLI version 1. Nous vous recommandons de migrer vers la AWS CLI version 2. Pour les dates, des détails supplémentaires et des informations sur la manière de migrer, consultez l'annonce
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS CLI réessaie dans le AWS CLI
Cette rubrique explique comment les appels aux AWS services AWS CLI peuvent échouer en raison de problèmes inattendus. Ces problèmes peuvent se produire côté serveur ou en raison de la limitation du débit du service AWS que vous essayez d’appeler. Ces types de défaillances ne nécessitent généralement pas de traitement spécial et l’appel est automatiquement effectué à nouveau, souvent après une brève période d’attente. AWS CLI Il fournit de nombreuses fonctionnalités pour vous aider à réessayer d'appeler les clients vers AWS les services en cas d'erreurs ou d'exceptions de ce type.
Rubriques
Modes de nouvelle tentative disponibles
Vous pouvez choisir parmi plusieurs modes en fonction de votre version : AWS CLI
Mode de nouvelle tentative standard
Standardmode est un ensemble standard de règles de nouvelle tentative dans les AWS SDK avec plus de fonctionnalités que l'ancien. Il s'agit du mode par défaut pour la AWS CLI version 2. Le mode standard a été créé pour la AWS CLI version 2 et est rétroporté vers la AWS CLI version 1. Les fonctionnalités du mode standard incluent :
-
Une valeur par défaut de 2 pour le nombre maximum de nouvelles tentatives, soit un total de 3 tentatives d’appel. Cette valeur peut être remplacée par le biais du paramètre de configuration
max_attempts. -
Réessayez pour accéder à la liste complète suivante : errors/exceptions
-
Transitoire errors/exceptions
-
RequestTimeout -
RequestTimeoutException -
PriorRequestNotComplete -
ConnectionError -
HTTPClientError
-
-
Service-side throttling/limit erreurs et exceptions :
-
Throttling -
ThrottlingException -
ThrottledException -
RequestThrottledException -
TooManyRequestsException -
ProvisionedThroughputExceededException -
TransactionInProgressException -
RequestLimitExceeded -
BandwidthLimitExceeded -
LimitExceededException -
RequestThrottled -
SlowDown -
EC2ThrottledException
-
-
-
Nouvelles tentatives pour les codes d’erreur transitoires non descriptifs. Plus précisément, ces codes d’état HTTP : 500, 502, 503, 504.
-
Toute nouvelle tentative inclura un backoff exponentiel d’un facteur de base de 2 pour un temps d’arrêt maximal de 20 secondes.
Mode de nouvelle tentative hérité(default)
Legacymode est le mode par défaut pour la AWS CLI version 1 et utilise un ancien gestionnaire de nouvelles tentatives avec des fonctionnalités limitées, notamment :
-
Une valeur par défaut de 4 pour le nombre maximum de nouvelles tentatives, soit un total de 5 tentatives d’appel. Cette valeur peut être remplacée par le biais du paramètre de configuration
max_attempts. -
DynamoDB a une valeur par défaut de 9 pour le nombre maximum de nouvelles tentatives, soit un total de 10 tentatives d’appel. Cette valeur peut être remplacée par le biais du paramètre de configuration
max_attempts. -
Réessayez pour le nombre limité suivant de errors/exceptions :
-
socket/connection Erreurs générales :
-
ConnectionError -
ConnectionClosedError -
ReadTimeoutError -
EndpointConnectionError
-
-
Service-side throttling/limit erreurs et exceptions :
-
Throttling -
ThrottlingException -
ThrottledException -
RequestThrottledException -
ProvisionedThroughputExceededException
-
-
-
Nouvelles tentatives pour plusieurs codes d’état HTTP, notamment 429, 500, 502, 503, 504 et 509.
-
Toute nouvelle tentative inclura un backoff exponentiel d’un facteur de base de 2.
Mode de nouvelle tentative adaptatif
Avertissement
Le mode adaptatif est un mode expérimental susceptible de changer, tant au niveau des fonctionnalités que du comportement.
Le mode de nouvelle tentative Adaptive est un mode de nouvelle tentative expérimental qui inclut toutes les fonctionnalités du mode standard. Outre les fonctionnalités du mode standard, le mode adaptatif introduit également une limitation du débit côté client grâce à l’utilisation d’un compartiment de jetons et de variables de limite de débit qui sont mises à jour dynamiquement à chaque nouvelle tentative. Ce mode offre une flexibilité lors des nouvelles tentatives côté client qui s'adapte à la réponse d' error/exception état d'un service. AWS
À chaque nouvelle tentative, le mode adaptatif modifie les variables de limite de débit en fonction de l'erreur, de l'exception ou du code d'état HTTP présenté dans la réponse du service. AWS Ces variables de limite de débit sont ensuite utilisées pour calculer un nouveau débit d’appels pour le client. Chaque réponse HTTP échouée exception/error ou non (fournie dans la liste ci-dessus) d'un AWS service met à jour les variables de limite de débit au fur et à mesure que de nouvelles tentatives se produisent jusqu'à ce que le succès soit atteint, que le compartiment de jetons soit épuisé ou que la valeur maximale de tentatives configurée soit atteinte.
Configuration d’un mode de nouvelle tentative
AWS CLI Cela inclut une variété de configurations de nouvelle tentative ainsi que des méthodes de configuration à prendre en compte lors de la création de votre objet client.
Méthodes de configuration disponibles
Dans le AWS CLI, les utilisateurs peuvent configurer les nouvelles tentatives de la manière suivante :
-
Variables d’environnement
-
AWS CLI fichier de configuration
Les utilisateurs peuvent personnaliser les options de nouvelle tentative suivantes :
-
Mode de nouvelle tentative : spécifie le mode de nouvelle tentative utilisé. AWS CLI Comme décrit précédemment, trois modes de nouvelle tentative sont disponibles : hérité, standard et adaptatif. La valeur par défaut pour la AWS CLI version 1 est l'ancienne .
-
Nombre maximum de tentatives : spécifie la valeur du nombre maximum de tentatives utilisées par le gestionnaire de nouvelles AWS CLI tentatives, l'appel initial étant pris en compte dans la valeur que vous fournissez. La valeur par défaut dépend de votre mode de nouvelle tentative.
Définition d’une configuration de nouvelle tentative dans vos variables d’environnement
Pour définir votre configuration de nouvelle tentative pour AWS CLI, mettez à jour les variables d'environnement de votre système d'exploitation.
Les variables d’environnements de nouvelle tentative sont les suivantes :
-
AWS_RETRY_MODE -
AWS_MAX_ATTEMPTS
Pour plus d’informations sur les variables d’environnement, consultez Configuration des variables d'environnement pour AWS CLI.
Affichage des journaux des nouvelles tentatives
Il AWS CLI utilise la méthodologie de nouvelle tentative et la journalisation de Boto3. Vous pouvez utiliser l’option --debug sur n’importe quelle commande pour recevoir les journaux de débogage. Pour plus d’informations sur l’utilisation de l’option --debug, consultez Options de ligne de commande dans le AWS CLI.
Si vous recherchez « nouvelle tentative » dans vos journaux de débogage, vous trouverez les informations sur les nouvelles tentatives dont vous avez besoin. Les entrées du journal client concernant les nouvelles tentatives dépendent du mode de nouvelle tentative que vous avez activé.
Mode hérité :
Les messages de nouvelle tentative sont générés par botocore.retryhandler. L’un des trois messages suivants s’affiche :
-
No retry needed -
Retry needed, action of:<action_name> -
Reached the maximum number of retry attempts:<attempt_number>
Mode standard ou adaptatif :
Les messages de nouvelle tentative sont générés par botocore.retries.standard. L’un des trois messages suivants s’affiche :
-
No retrying request -
Retry needed, retrying request after delay of:<delay_value> -
Retry needed but retry quota reached, not retrying request
Pour le fichier de définition complet des nouvelles tentatives de botocore, consultez https://github.com/boto/botocore/blob/develop/botocore/data/_retry.json