Você pode alternativamente tentar o minio cliente também conhecido como 'mc'. Sua escrito em Golang, disponível para Windows, Mac e & Linux.
mc implementa os seguintes comandos
ls List files and folders.
mb Make a bucket or folder.
cat Display contents of a file.
pipe Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
share Generate URL for sharing.
cp Copy one or more objects to a target.
mirror Mirror folders recursively from a single source to many destinations.
diff Compute differences between two folders.
rm Remove file or bucket [WARNING: Use with care].
access Manage bucket access permissions.
session Manage saved sessions of cp and mirror operations.
config Manage configuration file.
update Check for a new software update.
version Print version.
O comando mc mirror pode sincronizar seu diretório local para o bucket S3.
$ mc mirror localDir s3/RemoteBucket
Espero que ajude.