ローカルファイルでCRC32c
チェックサムを取得しようとしていますので、gcloudライブラリで提供されているblob.crc32cと比較できます。 Googleは、実際にCRC32c
のデータを計算するために、crcmodモジュールを使用する必要があると言います。生成されたGoogleのクラウドストレージを比較するのが難しいです。CRC32cチェックサム
modifiedFile.txt
は既にGoogle Cloud Storageバケットからローカルファイルシステムにダウンロードされています。
should_download
は、modifiedFile.txt
がローカルクライアントとリモートサーバーで異なるの場合にのみ、trueに設定することです。私のローカルファイルシステムと私のgcloud BLOBが同じ内容を持っている場合、どうすればマッチするのですか?CRC32c
from crcmod import PredefinedCrc
from gcloud import storage
# blob is a gcloud Blob object
should_download = True
with open('modifiedFile.txt') as f:
hasher = PredefinedCrc('crc-32c')
hasher.update(f.read())
crc32c = hasher.digest()
print crc32C# \207\245.\240
print blob.crc32C# CJKo0A==
should_download = crc32c != blob.crc32c
残念ながら、それは現在、いつも私は実際に私が一致Blob
オブジェクトに見ていた属性にcrcmod
でビルドチェックサムを比較する方法がわからないと失敗します。リンクドキュメントから