cloud ndb 等价于 remote_api_shell.py?
Equivalent of remote_api_shell.py for cloud ndb?
对于 Python 2 GAE,remote_api_shell.py
非常方便地更新实时数据存储。
使用 Python 3 GAE 和 cloud ndb,这是行不通的。有好的替代品吗?
由于您不再处于使用 Python 3 GAE 的沙箱中,您可以执行此操作,但云 ndb 上下文管理器使它变得乏味。
这个脚本(运行 和 python -i
)使它更方便:
import atexit
from google.cloud import ndb
datastore_client = ndb.Client('my-app')
datastore_client = ndb.Client()
ctx = datastore_client.context()
ctx.__enter__()
def close_ctx():
ctx.__exit__(None, None, None)
atexit.register(close_ctx)
此脚本将启动 ndb 上下文管理器,然后呈现 Python 解释器以供交互使用。您输入的所有交互式命令都将在上下文中执行。
不确定是否需要它,但为了完整起见,它还会在您 ctrl-d
时关闭上下文管理器。
当您 运行 脚本时,您会看到来自 Google 的一些警告,提示您未通过身份验证,但您可以忽略这些警告。
对于 Python 2 GAE,remote_api_shell.py
非常方便地更新实时数据存储。
使用 Python 3 GAE 和 cloud ndb,这是行不通的。有好的替代品吗?
由于您不再处于使用 Python 3 GAE 的沙箱中,您可以执行此操作,但云 ndb 上下文管理器使它变得乏味。
这个脚本(运行 和 python -i
)使它更方便:
import atexit
from google.cloud import ndb
datastore_client = ndb.Client('my-app')
datastore_client = ndb.Client()
ctx = datastore_client.context()
ctx.__enter__()
def close_ctx():
ctx.__exit__(None, None, None)
atexit.register(close_ctx)
此脚本将启动 ndb 上下文管理器,然后呈现 Python 解释器以供交互使用。您输入的所有交互式命令都将在上下文中执行。
不确定是否需要它,但为了完整起见,它还会在您 ctrl-d
时关闭上下文管理器。
当您 运行 脚本时,您会看到来自 Google 的一些警告,提示您未通过身份验证,但您可以忽略这些警告。