- amazon-s3/
- Amazon s3 GCS传输服务对象MD5和CRC32C哈希不匹配
Amazon s3 GCS传输服务对象MD5和CRC32C哈希不匹配
Amazon s3 GCS传输服务对象MD5和CRC32C哈希不匹配,amazon-s3,google-cloud-storage,google-cloud-platform,md5,Amazon S3,Google Cloud Storage,Google Cloud Platform,Md5,我使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,可以下载新的GCS对象并对其进行操作。由于MD5和CRC32C哈希验证失败,脚本无法下载。验证(谷歌云存储的一部分)是通过比较object.md5和object.crc32c散列和文件的计算散列来工作的,但它们不匹配
我从AWS下载了该文件并计算了md5和crc32c散列值,得到的值与GCS上的文件属性相同:object.md5和object.crc32c,但是当我直接从GCS下载并计算散列值时,我得到了不同的md5
我使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,可以下载新的GCS对象并对其进行操作。由于MD5和CRC32C哈希验证失败,脚本无法下载。验证(谷歌云存储的一部分)是通过比较object.md5
和object.crc32c
散列和文件的计算散列来工作的,但它们不匹配
我从AWS下载了该文件并计算了md5
和crc32c
散列值,得到的值与GCS上的文件属性相同:object.md5
和object.crc32c
,但是当我直接从GCS下载并计算散列值时,我得到了不同的md5
和crc32c
散列
要复制这一点:
计算AWS对象的哈希
通过传输服务将对象传输到地面军事系统
使用:gsutil ls-L gs://bucket/path/to/file提取属性化的GCS对象哈希
gsutil ls -L gs://bucket/path/to/file
计算GCS对象的哈希值
我最初得到的错误是:
/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 `'
/usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file/verifier.rb:34:in'verify_md5!':下载的文件未通过MD5验证。(Google::Cloud::Storage::FileVerificationError)
来自/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“下载”
来自sample.rb:9:in`'
如果您从GCS下载对象并直接计算其md5,您会得到“object.md5”或其他值吗?你有没有将一个与原来的进行比较,看看它们是否不同以及如何不同?@BrandonYarbrough是的,我已经尝试过了,当我直接从GCS下载并计算MD5时,我得到的值与object.MD5
值不同。