GCS传输服务对象MD5和CRC32C哈希不匹配

时间:2017-03-27 19:04:42

标签: amazon-s3 google-cloud-storage google-cloud-platform md5

我正在使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,用于下载新的GCS对象并对其进行操作。脚本无法下载,因为MD5和CRC32C哈希验证失败。验证(google-cloud-storage gem的一部分)通过将object.md5object.crc32c哈希值与文件的计算哈希值进行比较来实现,但这些哈希值不匹配。

我从AWS下载了该文件并计算了md5crc32c哈希值,并且我获得了与GCS上的文件属性相同的值:object.md5object.crc32c,但是,当我直接从GCS下载并计算哈希值时,我会得到不同的md5crc32c哈希值。

要复制这个:

  1. 计算AWS对象的哈希值
  2. 通过传输服务将对象传输到GCS
  3. 使用:
    gsutil ls -L gs://bucket/path/to/file
  4. 拉取属性GCS对象哈希值
  5. 计算GCS对象的哈希值
  6. 我最初得到的错误是:

    /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 `'
    

0 个答案:

没有答案