Aprende a instalar y usar s3cmd en Windows 10.

Hay un montón de razones por las que debería usar el almacenamiento de objetos en este momento, recuperación de datos más rápida, reducción de costos, optimización de recursos, son solo algunas de esas razones. Debido a la naturaleza escalable del almacenamiento de objetos, es menos costoso almacenar todos sus datos con esta tecnología. Amazon S3 es sin duda el servicio más conocido de este tipo, sin embargo existen otras opciones fuera de Amazon. El servicio de almacenamiento de objetos de proveedores como Digital Ocean, Linode y Vultr son solo algunas de las soluciones más confiables para el almacenamiento de objetos.

La manipulación de depósitos en Amazon es bastante fácil con la CLI de AWS, sin embargo, cuando hablamos de la manipulación de depósitos en el almacenamiento de objetos de otros proveedores, la CLI de AWS no es una opción, sino que todos confían en la herramienta de línea de comandos s3cmd. Como parece que para mucha gente no está claro cómo usar esta herramienta CLI en Windows, le explicaré cómo instalar y usar fácilmente s3cmd en Windows 10.

1. Descargar s3cmd

S3cmd es una herramienta de línea de comandos gratuita y un cliente para cargar, recuperar y administrar datos en Amazon S3 y otros proveedores de servicios de almacenamiento en la nube que usan el protocolo S3, como Google Cloud Storage o DreamHost DreamObjects. Es más adecuado para usuarios avanzados que están familiarizados con los programas de línea de comandos. También es ideal para secuencias de comandos por lotes y copias de seguridad automatizadas en S3, activadas desde cron, etc.

Puede descargar la última versión disponible de S3cmd desde el repositorio oficial en Github aquí. Vaya a la página de lanzamientos aquí , descargué el archivo s3cmd-2.2.0.zip. Luego, extraiga su contenido en el siguiente directorio:

C:\s3cmd

Por supuesto, puede cambiar este directorio y colocarlo donde desee, pero usaré este directorio en este artículo. El binario se puede usar así:

python C:\s3cmd\s3cmd

Pero funcionará solo si Python ya está instalado, si no lo está, asegúrate de seguir el siguiente paso.

2. Instalar Python 3

Como se mencionó en el primer paso, la última versión de s3cmd 2.2.0 requiere que Python 3 funcione correctamente. Debe instalar Python 3 en su sistema, en caso de que no tenga instalado Python 3, asegúrese de descargar el instalador desde el sitio web oficial de Python aquí . Para Windows, ya existe un instalador fácil de usar que registra automáticamente el binario de python en la RUTA, por lo que después de la instalación, podrá usar python desde el símbolo del sistema:

python --version

En mi caso, instalé Python 3.9.8.

Importante: debe instalar Python 3; de lo contrario, si ejecuta el paquete con Python 2, es posible que encuentre la siguiente excepción en su terminal:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ImportError trying to import dateutil.parser. 
Please install the python dateutil module:    
$ sudo apt-get install python-dateutil        
  or
$ sudo yum install python-dateutil
  or
$ pip install python-dateutil
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

3. Continúe con la configuración

En mi caso, estoy configurando un depósito en el servicio de almacenamiento de objetos de Vultr, por lo que la información que voy a completar en este paso es la requerida por este servicio, sin embargo, debería ser similar para el servicio que decidas usar. . El binario de s3cmd es el archivo s3cmd ubicado en el directorio donde extrajo el contenido descargado, simplemente ejecute el script con Python y use el argumento --configure para comenzar a configurar las credenciales de Object Storage:

python C:\s3cmd\s3cmd --configure

Una vez que termine el cuestionario, obtendrá un resultado similar al siguiente (en el último paso, se probará la conexión):

ERROR: Option --preserve is not yet supported on MS Windows platform. Assuming --no-preserve.
ERROR: Option --progress is not yet supported on MS Windows platform. Assuming --no-progress.

Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
Access Key: XXXXXXXXXXXX
Secret Key: XXXXXXXXXXXXX
Default Region [US]: 

Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint [s3.amazonaws.com]: ewr1.vultrobjects.com

Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: %(bucket)s.ewr1.vultrobjects.com

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:
Path to GPG program [C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\gpg.EXE]: 

When using secure HTTPS protocol all communication with Amazon S3       
servers is protected from 3rd party eavesdropping. This method is       
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [Yes]: Yes

On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name:

New settings:
  Access Key: XXXXXXXXXXXX
  Secret Key: XXXXXXXXXXXX
  Default Region: US
  S3 Endpoint: ewr1.vultrobjects.com
  DNS-style bucket+hostname:port template for accessing a bucket: %(bucket)s.ewr1.vultrobjects.com
  Encryption password:
  Path to GPG program: C:\Program Files (x86)\Gpg4win\..\GnuPG\bin\gpg.EXE
  Use HTTPS protocol: True
  HTTP Proxy server name:
  HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n] Y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)

Now verifying that encryption works...
Not configured. Never mind.

Save settings? [y/N] y
Configuration saved to 'C:\Users\sdkca\AppData\Roaming\s3cmd.ini'

4. Intenta acceder a tu almacenamiento de objetos

Como paso final, intente ejecutar una operación simple, como enumerar los buckets que ha creado en su almacenamiento de objetos:

python C:\s3cmd\s3cmd ls

En mi caso, tengo un solo bucket:

Buckets in Object Storage Vultr s3cmd

¡Y funciona perfectamente en Windows!

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores