我正在使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,用于下载新的GCS对象并对其进行操作。脚本无法下载,因为MD5和CRC32C哈希验证失败。验证(google-cloud-storage
gem的一部分)通过将object.md5
和object.crc32c
哈希值与文件的计算哈希值进行比较来实现,但这些哈希值不匹配。
我从AWS下载了该文件并计算了md5
和crc32c
哈希值,并且我获得了与GCS上的文件属性相同的值:object.md5
和object.crc32c
,但是,当我直接从GCS下载并计算哈希值时,我会得到不同的md5
和crc32c
哈希值。
要复制这个:
gsutil ls -L gs://bucket/path/to/file
我最初得到的错误是:
/usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file/verifier.rb:34:in `verify_md5!': The downloaded file failed MD5 verification. (Google::Cloud::Storage::FileVerificationError) from /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:809:in `verify_file!' from /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:407:in `download' from sample.rb:9:in `'