想定しているシチュエーションとしてはこんな感じ。
- データストアのあるモデルのKey名には、特定の情報を連結した文字列を
urlsafe
でBASE64エンコードした文字列を使っている - エンティティの
Key
名に使用しているurlsafeな文字列だけがわかっていて、その文字列から元の文字列を復元したい
(そして復元したKey名をパースして特定の情報を取り出したい)
方法
my_key = ndb.Key(urlsafe=urlsafe_key_str)
で一旦Key
オブジェクトを取得した後
my_key.string_id()
で取得できます。
ちなみに、あるエンティティからurlsafeなkey名を取得するには
urlsafe_key_str = [モデル].key.urlsafe()
です。