Estoy usando el Servicio de transferencia de GCS para mover objetos de S3 a GCS, luego tengo un script de Ruby en GAE que descarga el nuevo objeto de GCS y lo opera. La secuencia de comandos no se puede descargar porque falla la verificación de hash MD5 y CRC32C. La verificación (parte de la gema google-cloud-storage ) funciona comparando los valores hash de object.md5 y object.crc32c con los valores hash calculados del archivo, pero estos no coinciden.
Descargué el archivo de AWS y calculé los hashes md5 y crc32c y obtuve el mismo valor que tienen los atributos de archivo en GCS: object.md5 y object.crc32c , sin embargo, cuando descargo directamente de GCS y calculo los hashes, obtengo diferentes Hash md5 y crc32c .
Para replicar esto:
gsutil ls -L gs://depósito/ruta/al/archivo
El error que obtuve originalmente fue:
/usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file/verifier.rb:34:in `verify_md5!': El archivo descargado no superó la verificación MD5. (Google::Nube::Almacenamiento::Error de verificación de archivo)
de /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:809:en `verify_file!'
de /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:407:en 'descargar'
de muestra.rb:9:in `'