Ich versuche, eine CRC32c
Prüfsumme auf meiner lokalen Datei, so dass ich es mit der blob.crc32c von der gcloud-Bibliothek bereitgestellten vergleichen kann. Google sagt, dass ich das crcmod Modul verwenden sollte, um wirklich CRC32c
Hashes meiner Daten zu berechnen.Schwierigkeit Vergleich generierten und Google Cloud-Speicher zur Verfügung gestellt CRC32c Prüfsummen
modifiedFile.txt
wurde bereits von einem Google Cloud Storage-Bucket auf mein lokales Dateisystem heruntergeladen.
Das Ziel hier ist, should_download
auf True zu setzen, nur wenn modifiedFile.txt
eine andere CRC32c
auf meinem lokalen Client vs meinem Remote-Server hat. Wie erhalte ich, dass sie übereinstimmende CRC32c
erzeugen, wenn mein lokales Dateisystem und mein gcloud Blob den gleichen Inhalt haben?
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
Leider scheitert es derzeit immer, da ich nicht wirklich wissen, wie die Prüfsumme mich mit crcmod
das Attribute bauen vergleichen ich in dem passenden Blob
Objekt sehe.