gcloud ライブラリによって提供されるblob.crc32cCRC32c
と比較できるように、ローカル ファイルのチェックサムを取得しようとしています。Google は、実際にデータのハッシュを計算するにはcrcmodモジュールを使用する必要があると言っています。CRC32c
modifiedFile.txt
はすでに Google Cloud Storage バケットからローカル ファイル システムにダウンロードされています。
ここでの目標は、ローカル クライアントとリモート サーバーで異なるshould_download
場合にのみ true に設定することです。ローカル ファイル システムと gcloud Blob の両方が同じコンテンツを持っている場合に、一致するものを生成するにはどうすればよいですか?modifiedFile.txt
CRC32c
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
残念ながら、ビルドしたチェックサムを一致するオブジェクトcrcmod
で見ている属性と比較する方法が実際にはわからないため、現在は常に失敗します。Blob