Diferencia entre s3cmd, boto y AWS CLI


Estoy pensando en redistribuir mi sitio web estático a Amazon S3. Necesito automatizar la implementación, así que estaba buscando una API para este tipo de tareas. Estoy un poco confundido sobre las diferentes opciones.

Pregunta: ¿Cuál es la diferencia entre s3cmd, la biblioteca Python boto y AWS CLI?

Author: Aakash Malhotra, 2014-10-12

1 answers

S3cmd y AWS CLI son herramientas de línea de comandos. Son muy adecuados si desea programar su implementación a través de scripts de shell (por ejemplo, bash).

AWS CLI le ofrece capacidades simples de copia de archivos a través del comando "s3", que debería ser suficiente para implementar un sitio web estático en un bucket S3. También tiene algunas pequeñas ventajas, como ser preinstalado en Amazon Linux, si es desde donde estaba trabajando (también es fácilmente instalable a través de pip).

Un comando de AWS CLI que puede ser apropiado para sincronizar un directorio local con un bucket S3:

$ aws s3 sync . s3://mybucket

Documentación completa sobre este comando: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

Editar: Como mencionó @simon-buchan en un comentario, el comando aws s3api le da acceso a la API S3 completa, pero su interfaz es más "raw".

S3cmd admite todo lo que hace AWS CLI, además de agregar algunas funciones más extendidas en superior, aunque no estoy seguro de que usted requeriría nada de eso para sus propósitos. Puedes ver todos sus comandos aquí: http://s3tools.org/usage

La instalación de s3cmd puede ser un poco más complicada porque no parece que sean paquetes para ella en ninguna distribución de repositorios principales.

Boto es una biblioteca de Python, y de hecho el SDK oficial de AWS Python. La CLI de AWS, que también está escrita en Python, en realidad utiliza parte de la biblioteca boto (botocore). Sería muy adecuado solo si estaba escribiendo sus scripts de implementación en Python. Hay Sdk oficial para otros lenguajes populares (Java, PHP, etc.) en caso de que prefiera: http://aws.amazon.com/tools /

La forma más cruda de acceso a S3 es a través de la API REST de AWS. Todo lo demás se construye sobre él en algún momento. Si te sientes aventurero, aquí está la documentación de la API REST de S3: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html

 37
Author: Fishizzle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-16 04:08:44