Je tente d'utiliser l'AWS CLI avec une boucle for
à BASH pour purger de manière itérative plusieurs files d'attente de message SQS. Le script Bash fonctionne presque comme prévu, le problème que j'ai à avoir est avec la valeur de retour chaque fois que l'AWS CLI envoie une demande. Lorsque la demande est réussie, il renvoie une valeur vide et ouvre un téléavertisseur interactif dans la ligne de commande. Je dois ensuite taper manuellement q
pour quitter l'écran interactif et permettre la boucle for
de continuer à la prochaine itération. Cela devient très fastidieux et prend beaucoup de temps lors de la tentative de purge un grand nombre de files d'attente.
Existe-t-il un moyen de configurer AWS CLI pour désactiver ce téléavertisseur interactif de l'apparition de chaque valeur de retour? Ou un moyen de piler les valeurs de retour dans un fichier séparé au lieu d'être affichée?
J'ai joué avec la configuration de différents types de valeur de retour (Texte, Yaml, Json) mais n'a pas eu de chance. Également --no-pagination
Paramètre ne change pas le comportement.
Voici un exemple du script de bash que j'essaie de courir:
for x (1 2 3);
do aws sqs purge-queue --queue-url https://sqs.<aws-region>.amazonaws.com/<id>/<env>-$x-<queueName>.fifo;
done
Vous pouvez désactiver le pager soit en exportant AWS_PAGER=""
ou en modifiant votre fichier de configuration AWS CLI.
export AWS_PAGER=""
### or update your ~/.aws/config with
[default]
cli_pager=
Sinon, vous pouvez activer le téléavertisseur par défaut de sortir du programme less
comme
export AWS_PAGER="less"
ou changement de configuration correspondant.
Ref: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-Output.html#cli-usage-Output-pager