Sur mon ordinateur local, dans un conteneur Docker basé sur Ubuntu 16.04, je peux voir la version installée de awscli
:
root@c4383af6f9d5:/# aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.8.0-58-generic botocore/1.4.70
Dans cette image Docker, tout fonctionne correctement et les outils de ligne de commande aws
fonctionnent comme prévu.
Séparément, sur une instance AWS EC2, également basée sur Ubuntu 16.04 et avec les mêmes scripts de provisioning que ceux utilisés pour construire l'image Docker susmentionnée, j'ai rencontré un problème.
Tout d'abord, la version de aws-cli
ubuntu@awsIP:~$ aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-1020-aws botocore/1.4.70
Deuxièmement, l'exécution d'une commande aws s3 ls
pour tester la connectivité (après l'exécution de aws configure
avec les informations d'identification appropriées) génère une erreur:
ubuntu@awsIP:~$ aws s3 ls s3://some-team-folder-name
'AWSHTTPSConnection' object has no attribute 'ssl_context'
J'ai essayé de comprendre l'erreur et j'ai trouvé quelques rapports de bugs Ubunt , mais jusqu'à présent, rien qui n'explique comment on peut les réparer. Cette erreur ne se produit que depuis la machine AWS. Avec la même version de awscli
sur mon ordinateur portable, je ne la vois pas et je ne peux pas déterminer quel autre problème de version de paquet il pourrait s'agir.
Curieusement, quand je fais apt-get update && apt-get install awscli
, je vois
awscli is already the newest version (1.11.13-1ubuntu1~16.04.0).
mais le rapport de bogue que j'ai lié ci-dessus donne l'impression qu'une version plus récente (1.11.44) devrait déjà avoir été publiée dans le dépôt (vers février 2017).
Ce n'est pas une solution de contournement de Nice, mais j'ai constaté qu'avec Sudo pip install --upgrade awscli
, je pouvais obtenir une version plus récente que celle disponible dans le référentiel du système d'exploitation, et la mise à niveau résolvait le problème.
Préférerait une solution qui explique ce qui se passe et comment la résoudre avec une modification de package système appropriée cependant.
Je viens de rencontrer le même problème. J'ai vérifié la version de awscli
installée en tapant aws --version
et j'ai reçu ceci:
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-98-generic botocore/1.4.70
Je suis retourné à la documentation AWS pour voir si cela pouvait éclaircir les choses et cela mentionnait:
AWS CLI est mise à jour régulièrement pour ajouter la prise en charge de nouveaux services et commandes. Pour mettre à jour la dernière version de l'AWS CLI, exécutez à nouveau la commande d'installation.
$ pip install awscli --upgrade --user
J'ai exécuté cette commande, puis vérifié à nouveau la version de awscli
et elle a été imprimée:
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-98-generic botocore/1.4.70
Je ne pensais pas que la mise à niveau avait fonctionné puisque toutes les versions étaient identiques, mais j'ai essayé d'exécuter mon script et tout fonctionnait maintenant.
Donc, si quelqu'un d'autre rencontre ce problème, exécutez simplement la commande de mise à niveau et cela devrait résoudre le problème.