Quelle est la différence entre AWS boto et boto3 [fermé]

141

Je suis nouveau sur AWS en utilisant Python et j'essaie d'apprendre l'API boto, mais j'ai remarqué qu'il existe deux versions / packages majeurs pour Python. Ce serait boto et boto3.

Quelle est la différence entre les bibliothèques AWS boto et boto3?

Mat
la source
7
Plus de quatre ans après avoir été posée et deux ans après avoir été fermée, cette question et la réponse continuent d'être utiles. Il ne s'agit pas de demander des opinions ou des recommandations, c'est poser une question technique sur la différence entre deux bibliothèques.
Daniele Procida

Réponses:

185

Le package boto est la bibliothèque Python codée à la main qui existe depuis 2006. Il est très populaire et est entièrement pris en charge par AWS, mais parce qu'il est codé à la main et qu'il y a tellement de services disponibles (avec plus d'apparition tout le temps), il est difficile à maintenir.

Ainsi, boto3 est une nouvelle version de la bibliothèque boto basée sur botocore . Toutes les interfaces de bas niveau vers AWS sont pilotées à partir de descriptions de service JSON qui sont générées automatiquement à partir des descriptions canoniques des services. Ainsi, les interfaces sont toujours correctes et toujours à jour. Il y a une couche de ressources au-dessus de la couche client qui fournit une interface plus agréable et plus pythonique.

La bibliothèque boto3 est activement développée par AWS et c'est celle que je recommanderais aux gens d'utiliser s'ils commencent un nouveau développement.

garnaat
la source
11
En pratique, les services AWS qui n'ont pas de couche de ressources dans boto3 sont souvent plus faciles à gérer dans boto. YMMV
Atifm