update not found cli aws another amazon-s3 boto s3cmd aws-cli

amazon-s3 - not - uninstall aws cli



Diferencia entre s3cmd, boto y AWS CLI (1)

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

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


s3cmd y AWS CLI son ambas herramientas de línea de comandos. Son adecuados si desea realizar un script de su implementación a través de scripts de shell (por ejemplo, bash).

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

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

$ aws s3 sync . s3://mybucket

La documentación completa de 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 "en bruto".

s3cmd es compatible con todo lo que AWS CLI hace, además agrega algunas funcionalidades más extendidas en la parte superior, aunque no estoy seguro de que requiera nada de eso para sus propósitos. Puede ver todos sus comandos aquí: http://s3tools.org/usage

La instalación de s3cmd puede ser un poco más complicada porque no parece ser un paquete para ella en ningún repos principal de distros.

boto es una biblioteca de Python, y de hecho es el AWS Python SDK oficial. La CLI de AWS, que también está escrita en Python, en realidad usa parte de la biblioteca de boto ( botocore ). Sería adecuado solo si estuviera escribiendo sus scripts de implementación en Python. Hay SDK oficiales para otros idiomas populares (Java, PHP, etc.) si lo prefiere: http://aws.amazon.com/tools/

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