有没有办法使用谷歌云控制台更新多个实体?

fra*_*nds 1 google-cloud-datastore google-cloud-platform

在谷歌云控制台中,我可以使用“数据存储>实体”一次更新一个实体,或者SELECT使用GQL进行查询。

我需要更新多个实体,一一更新是不切实际的。当我在本地 GAE 服务器中运行项目时,有没有办法执行更新查询或类似于“管理服务器”中存在的“交互式控制台”的操作?

编辑:只是为了澄清,我想执行此操作,而不需要在我的生产服务器中部署新代码。

fra*_*nds 5

正如 sergio franco 所指出的,可以使用 Cloud Functions 访问数据存储并更新实体。仍然需要部署该功能,但由于这一切都可以从控制台完成,因此它比向项目添加新代码并部署整个项目要简单快捷得多。

重要的是要记住,无论函数的大小如何,每次执行函数时都会对您进行定价。更多详情请点击此处

  • 转到谷歌云控制台并从左侧菜单中选择“云函数”,它位于计算部分:

显示云功能的谷歌云控制台菜单

  • 选择“创建函数”
  • 给函数起一个描述性的名字(以后会更容易知道它是做什么的)
  • 选择128Mb(根据内存分配情况收费)
  • 选择 HTTP 作为触发器
  • 由于此函数的目的是更新数据存储,因此我认为最好不要选中“允许未经身份验证的调用”
  • 选择“内联编辑器”
  • 选择 Python 3.7 作为运行时(因为下面的示例将使用 Python)
  • 在“requirements.txt”选项卡中添加以下代码:
# Function dependencies, for example:
# package>=version
google-cloud-datastore==1.8.0
Run Code Online (Sandbox Code Playgroud)
  • main.py 选项卡:
# Function dependencies, for example:
# package>=version
google-cloud-datastore==1.8.0
Run Code Online (Sandbox Code Playgroud)
  • 点击“环境变量、网络等”
  • 在网络中,选择“仅允许内部流量”
  • 按“创建”
  • 等待功能部署
  • 转到“测试”选项卡
  • 按“测试功能”

函数返回的任何内容都将打印在页面的“输出”部分。

任何调用的内容print都会被发送到日志

您可以像访问字典一样访问所有实体属性。

资料来源:

云函数python访问数据存储

https://googleapis.dev/python/datastore/latest/entities.html

https://cloud.google.com/functions/docs/quickstart-python