¿Cuál es la diferencia entre AWS boto y boto3 [cerrado]

141

Soy nuevo en AWS con Python y estoy tratando de aprender la API de boto, sin embargo, noté que hay dos versiones / paquetes principales para Python. Eso sería boto y boto3.

¿Cuál es la diferencia entre las bibliotecas AWS boto y boto3?

Mate
fuente
77
Más de cuatro años después de haber sido preguntado y dos años después de haber sido cerrado, esta pregunta y la respuesta siguen siendo útiles. No está pidiendo opiniones o recomendaciones, está haciendo una pregunta técnica sobre la diferencia entre dos bibliotecas.
Daniele Procida

Respuestas:

185

El paquete boto es la biblioteca Python codificada a mano que existe desde 2006. Es muy popular y es totalmente compatible con AWS, pero debido a que está codificada a mano y hay tantos servicios disponibles (apareciendo más todo el tiempo). Es difícil de mantener.

Entonces, boto3 es una nueva versión de la biblioteca de boto basada en botocore . Todas las interfaces de bajo nivel para AWS se basan en descripciones de servicio JSON que se generan automáticamente a partir de las descripciones canónicas de los servicios. Por lo tanto, las interfaces son siempre correctas y siempre actualizadas. Hay una capa de recursos en la parte superior de la capa del cliente que proporciona una interfaz más agradable y más pitónica.

La biblioteca boto3 está siendo desarrollada activamente por AWS y es la que recomendaría que la gente use si están comenzando un nuevo desarrollo.

Garnaat
fuente
11
En la práctica, los servicios de AWS que no tienen una capa de recursos en boto3 a menudo son más fáciles de manejar en boto. YMMV
Atifm