2011-01-21 8 views

答えて

0

モジュールがGoogle App Engineで利用可能であると仮定すると、Pythonのuuidモジュールをチェックしてください。

0

データストアに保存しているものについて何かがありますか?

もしそうなら、私はobject.keyはGUID

+1

Keyオブジェクトは、いくつかのコンポーネント(アプリケーションID、種類名、鍵またはID)の複合体です。彼らはGUIDではありません。 –

+0

それはなぜGUIDではないのですか?たぶん私はGUIDの定義が間違っているかもしれない、私は彼らが単にグローバルに一意のIDだと思った。種類(アプリ内でユニーク)とキー(種類内でユニーク)でアプリID(グローバルにアプリ内でユニーク)を合成すると、それは世界的にユニークではないでしょうか? –

+1

I * think * OPの問題は、彼らが推測できるかもしれないということかもしれません。悪意のあるユーザーが他のキーを持っていると簡単に推測できます。 GUIDは、ランダムに選択されたGUIDがあなたのアプリの何かと一致しないことを保証するものではありませんが、少なくとも、オッズを大幅に減少させます。 http://code.google.com/appengine/docs/python/datastore/keyclass.html – Ryan

5

uuid moduleが利用可能であるべきであると信じています。

なぜあなたはuuidsが必要ですか?通常は本当にユニークなプライマリキーを作成する必要がありますが、GAEのデータストアは本質的にあなたのためにそれを処理する必要があります。 uuidモジュールを使用して

+0

ユニークな値は便利です。 nonceを生成するとき、または外部API-sと話すときに支払基準を言うとき。 – andruso

5

コードの例:

from uuid import uuid4 

print(uuid4()) 

# Output: 7d720c5a-b3e9-455e-961c-0e37b330b098 
1
import uuid 

print(uuid.uuid4().hex) 
関連する問題