Aller au contenu principal

Activez l'auto-complétion AWS boto3 dans Visual Studio Code

· 2 minutes de lecture
Stéphane ROBERT
Consultant DevOps

Lorsqu’on démarre sur le développement de lambda AWS ou pour écrire du code d’infrastructure AWS, nous faisons appel à la libriairie boto3. Pour simplifier l’écriture de ce code, je vous conseille d’installer l’extension vscode boto3 qui permet d’ajouter la completion de code.

Création de l’environnement virtuel python

pyenv install 3.11.0
pyenv virtualenv 3.11.0 aws
pyenv local aws
pip install boto3

Installation et configuration de l’extension

Pour installer cette extension, il suffit de se rendre dans le marketplace Visual Studio via ce lien.

Une fois installé, ouvrez les paramètres vscode via la roue dentée dans le coin en bas à gauche et de cliquer sur l’icône [Afficher les paramètres en JSON]. A la fin du fichier ajouter ces deux lignes :

...
    "python.languageServer": "Pylance",
    "python.analysis.typeCheckingMode": "basic"
}

Nous pouvons passer à l’installation des librairies gérant la complétion du code boto3. Appuyez sur les touches [CTRL] + [SHIFT] + [P] et recherchez AWS

Normalement, vous devriez voir apparaître la fenêtre suivante :

Si vous voyez, [install Pylance] c’est que vous vos êtes trompé dans les paramètres vscode créé plus haut.

Cliquez sur [Install] et sélectionner les composants AWS que vous allez utiliser. EC2, S3, ECR, STS, ….

Une fois l’installation terminée vous devriez retrouver dans les packages python retrouver des packages portant le mypy-boto3-xxxx comme ci-dessous :

 vagrant@devbox  ~/Projets/personal/aws-blog   master ?  pip list                                                                                                                                      ✔  389  11:53:26
Package           Version
----------------- ------------
boto3             1.26.48
boto3-stubs       1.26.48
botocore          1.29.48
botocore-stubs    1.29.48
jmespath          1.0.1
mypy-boto3-ec2    1.26.34
mypy-boto3-s3     1.26.0.post1
mypy-boto3-sts    1.26.12
pip               22.3
python-dateutil   2.8.2
s3transfer        0.6.0
setuptools        65.5.0
six               1.16.0
types-awscrt      0.16.3
types-s3transfer  0.6.0.post5
typing_extensions 4.4.0
urllib3           1.26.14

Utilisation de la complétion

Si vous créez un fichier python et que vous utilisez la librairie boto3 dans votre code, vous allez pouvoir utiliser la complétion et les liens vers la documentation boto3 comme dans l’image ci-dessous.