s3cmd: KeyError: 'dest_name' al intentar copiar varios archivos

s3cmd: KeyError: 'dest_name' al intentar copiar varios archivos

Necesito procesar algunos archivos en un depósito de S3 usando Hive. El problema es que aparentemente a Hive no le gusta usar los depósitos como carpetas, así que decidí crear una carpeta en otro depósito y copiar los archivos allí a través de s3cmd.

Este es mi comando:

s3cmd -v cp s3://main.bucket/\* s3://temp.bucket/input/

s3cmd luego declara rápidamente que tengo X archivos para transferir (generalmente alrededor del orden de 5k++) y luego, después de copiar un archivo, me muestra el siguiente error:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
  Please report the following lines to:
   [email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Problem: KeyError: 'dest_name'
S3cmd:   1.0.1

Traceback (most recent call last):
  File "/usr/local/bin/s3cmd", line 2006, in <module>
    main()
  File "/usr/local/bin/s3cmd", line 1950, in main
    cmd_func(args)
  File "/usr/local/bin/s3cmd", line 614, in cmd_cp
    subcmd_cp_mv(args, s3.object_copy, "copy", "File %(src)s copied to %(dst)s")
  File "/usr/local/bin/s3cmd", line 604, in subcmd_cp_mv
    dst_uri = S3Uri(item['dest_name'])
KeyError: 'dest_name'

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
    Please report the above lines to:
   [email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ahora, eso simplemente apesta.

Pensando que el problema radica en la transferencia de depósito a depósito, decidí crear una carpeta dentro de main.bucket y simplemente copiar todo lo que hay allí, sin importarme si la carpeta en la que se va a copiar todo también se copia, lo que provoca un bucle o algo así. , porque en ese momento estaba al límite de mi ingenio.

El nuevo comando es el siguiente:

s3cmd -v cp s3://main.bucket/\* s3://main.bucket/111a/

Nuevamente, copió solo un archivo y me dio el mismo error.

¿Qué podría significar esto? ¿Cómo puedo solucionar esto?

Gracias.

PD: Si todo lo demás falla, supongo que podría hacerlo a través de la GUI de AWS, pero marcar manualmente cada casilla de verificación es una molestia. Que yo sepa, si te desplazas hacia abajo lo suficiente, olvidará estúpidamente los archivos que revisaste anteriormente, lo que te obligará a hacerlo a paso de tortuga.

Si hay un método para seleccionarlos todos a la vez y copiarlos y pegarlos en un nuevo directorio, sería genial.

Respuesta1

Estás utilizando una versión muy antigua de s3cmd. Creo que este error se ha solucionado desde entonces. Inténtelo de nuevo con la rama maestra ascendente github.com/s3tools/s3cmd. A día de hoy, 1.5.0-rc1 es la versión más reciente.

información relacionada