[PYTHON] Aktivieren Sie die Code-Vervollständigung auf boto3 mit boto3-Stubs

Wenn Sie ein AWS-basiertes Programm in Python erstellen, sind Sie mit ziemlicher Sicherheit dem AWS SDK namens boto3 verpflichtet.

Dieser Boto3 verfügt über viele Funktionen, die alle AWS-Services betreffen können, aber ich höre keine Code-Vervollständigung, da es keinen Typ gibt. Da der Dienstname als Zeichenfolge wie "boto3.client (" s3 ")" empfangen wird, ist die Typdefinition der Typ "BaseClient" und nicht der Clienttyp für jeden Dienst. Das ist ziemlich schwierig, weil ich es normalerweise in einer Umgebung entwickle, in der Komplemente schwer angehört werden.

Ich fragte mich, ob etwas getan werden könnte, und als ich danach suchte, fand ich ein Paket namens ** boto3-stubs **. In diesem wird der Typ der Client-Ressource für jeden Dienst wie s3 und ec2 definiert. Wenn Sie also diesen Typ angeben, ...

image.png image.png

Sie können es so ergänzen! Das ist gut! !!

Installation

pip install boto3-stubs[essential]

Die Version kann mit boto3 kombiniert werden. Selbst wenn Sie ein bestimmtes boto3 verwenden, können Sie es problemlos verwenden, wenn Sie dieselbe Versionsnummer angeben. Das Paket wird automatisch aktualisiert und es scheint, dass boto3-stubs auch an dem Tag veröffentlicht wurden, an dem boto3 aktualisiert wurde.

Die obige Spezifikation enthält die Klassen "ec2, s3, rds, lambda, sqs, dynamo, cloudformation". Dies allein erfordert ungefähr 7 MB, so dass es nicht plötzlich für alle passt. Wenn Sie etwas anderes benötigen, können Sie es in Form von "[essential, ecs]" angeben.

Wie benutzt man

import boto3
from mypy_boto3_s3 import S3Client, S3ServiceResource  # from boto3-stubs

s3: S3Client = boto3.client("s3")
s3_r: S3ServiceResource = boto3.resource("s3")

Jetzt hören Sie die Code-Vervollständigung für die Variablen s3, s3_r. Da wir den Typ angeben, kann jeder Editor, der eine typbasierte Vervollständigung ausführen kann, wie z. B. VSCode, auf dieselbe Weise verwendet werden.

Beiseite

Recommended Posts

Aktivieren Sie die Code-Vervollständigung auf boto3 mit boto3-Stubs
Hinweise zur Verwendung von Pywinauto
Hinweise zur Verwendung von featuretools
Wie benutzt man Homebrew in Debian?
Verwenden Sie boto3, um zu S3 zu gelangen
Wie man Mecab, neologd-ipadic auf Colab verwendet
Ich möchte Linux auf dem Mac verwenden
So verwenden Sie Google Assistant unter Windows 10
Memorandum über die Verwendung von Gremlin Python
Installieren Sie Python auf xserver, um pip zu verwenden
Verwenden Sie boto, um Dateien auf s3 hoch- / herunterzuladen.
Verwenden Sie Linter, um die Kosten für die Codeüberprüfung zu senken
Verwenden Sie den zu Boto3 hinzugefügten Wiederholungsverarbeitungsmodus
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
Verwendung von Ruby's PyCall zum Aktivieren von pyenv Python
[Windows] Memo zur Verwendung von Keras auf der GPU [Tensorflow-GPU]
Vorbereiten der Verwendung von aws cli unter Mac OS X.
Installieren Sie Debian 10, um Remote Development mit Beagle Bone Black zu verwenden
Vorbereiten der Verwendung von Tensorflow (Anaconda) mit Visual Studio Code
Verwendung von C216 Audio Controller unter Arch Linux
Ein Memorandum zur Verwendung von Keras 'keras.preprocessing.image
Verwendung von TensorFlow auf GPUs unter Titan
Vorbereiten der Verwendung von Ansible auf einem vorhandenen Linux-Server
Autoencoder im Chainer (Hinweise zur Verwendung von + Trainer)
Ich möchte OpenJDK 11 mit Ubuntu Linux 18.04 LTS / 18.10 verwenden
Verwendung von Django mit Google App Engine / Python
[Tipps] Verwendung des iPhone als Webkamera unter Linux
Guter und schlechter Code zum Vergleich mit Minikarten