ランダム値ですか?または、ユーザーはこの値からいくつかのデータを抽出できますか?GAEデータストアキーはどのように生成されますか?
1
A
答えて
3
データストアキーは、種類、文字列名または整数ID、およびオプションの親エンティティパス(docs)で構成されます。それらのすべてはid以外のユーザー指定ですので、あなたが求めていると思います。
idは、0から始まる単純整数カウンタに基づいて割り当てられます。現在、特定のアプリケーションではすべてのルートエンティティが1つのカウンタを共有し、ルート以外のエンティティはエンティティグループ内のカウンタを共有します。長期的には、特定のカウンタのIDは増加しますが、データストアサーバーはIDをバッチで予約しているため、短期間にIDが増減することがよくあります。
(セキュリティの質問に対するとして、アプリエンジンのセキュリティのどれもが、このID割り当てメカニズムの秘密を保つことに依存していないあなたは、あいまいさのセキュリティは、一般的に悪いことと考えられている理由をよく読んですることがあります。 。:P)
私は質問しないか、質問に答えることができない2つの理由:アプリケーション設計にとっては賢明で、GAEセキュリティには賢明ではありません。 – topchef
@ topchef、私は2番目の部分に同意することができますが、最初に同意しないだろう;) - 私はこれをURLの一部として使うことができるかどうかを理解する必要があります。 –
@ LA - それから私たちはちょうど2dの部分について話します。ちなみに、先日私が管理していたソフトウェアのクライアントと会話したところ、私たちがURLで頻繁に使用している間に、私たちのUIモデル(MVC)で内部キーを公開しない理由を尋ねました。私たちがなぜそうでないのかという妥当な理由は考えられませんでした。彼らは顧客にとって意味がなく、アイデンティティだけでなくビジネスセマンティクスも持つユニークなIDを提供します。そして、私はハッカーに余分なチャンスを与える立場にないので、私はできるだけそれらのキーを公開することに抵抗する。 – topchef