2010-01-16 56 views
1

我可以在實時谷歌應用引擎上的數據存儲查看器中看到我的blob的SHA-1。SHA-1 google blob應用引擎

是否有推薦的方式可以在GAE中以編程方式訪問blob的SHA-1哈希(或任何其他哈希)?

回答

2

目前,它是不可能得到存儲在AppEngine上的Blob存儲一個blob的內容的散列,而無需使用外部腳本下載它和散列它(一個很不理想的解決方案)。

將星號附加到issue 2510 on the AppEngine issue tracker可能有助於將Blob散列到AppEngine中。

1

您的意思是BlobKey?如果是這樣,只需將它傳遞給str()。否則,請自己用hashlib自己生成散列。

+0

BlobKey是散列嗎?就像兩個圖像是相同的,BlobKey會一樣嗎? – bobobobo 2010-01-16 03:18:45

+0

我不確定。測試它。文檔沒有說。我猜儘管沒有。考慮如果兩個人上傳相同的圖像會發生什麼。該行爲會導致這兩個圖像解析爲blob存儲中的單個條目。如果你想要一個基於內容的哈希,使用'hashlib',將哈希存儲爲'hexdigest',並注意你的CPU使用率。 – 2010-01-16 18:02:31

+0

因此,'str(BlobKey.key())'的值不會相同。因此,沒有辦法訪問GAE似乎已經爲每個圖像計算出的_already cached_ sha-1? – bobobobo 2010-01-17 23:08:19