【发布时间】:2020-10-12 00:29:17
【问题描述】:
我正在使用 python 谷歌应用引擎
你能告诉我,我如何在本地系统上使用 ndb 运行 python3 谷歌应用引擎?
帮帮我
【问题讨论】:
标签: python-3.x google-app-engine google-cloud-platform app-engine-ndb
我正在使用 python 谷歌应用引擎
你能告诉我,我如何在本地系统上使用 ndb 运行 python3 谷歌应用引擎?
帮帮我
【问题讨论】:
标签: python-3.x google-app-engine google-cloud-platform app-engine-ndb
您可以简单地在本地创建数据存储的模拟器实例:
gcloud beta emulators datastore start --project test --host-port "0.0.0.0:8002" --no-store-on-disk --consistency=1
然后在主app文件的代码中使用:
from google.cloud import ndb
def get_ndb_client(namespace):
if config.ENVIRONMENT != ENVIRONMENTS.LOCAL:
# production
db = ndb.Client(namespace=namespace)
else:
# localhost
import mock
credentials = mock.Mock(spec=google.auth.credentials.Credentials)
db = ndb.Client(project="test", credentials=credentials, namespace=namespace)
return db
ndb_client = get_ndb_client("ns1")
【讨论】:
请试试这个
转到服务帐号https://cloud.google.com/docs/authentication/getting-started
创建 json 文件
并添加安装这个 pip
$ pip install google-cloud-ndb
现在打开 linux 终端
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json"
如果窗口则打开命令提示符
set GOOGLE_APPLICATION_CREDENTIALS=C:\path\to\credentials.json
在终端/命令提示符下在 python3 中运行此代码
from google.cloud import ndb
client = ndb.Client()
with client.context():
contact1 = Contact(name="John Smith",
phone="555 617 8993",
email="john.smith@gmail.com")
contact1.put()
在您的数据存储中查看此结果.. Google 控制台
【讨论】:
App Engine 是 Google Cloud Platform 提供的无服务器服务,您可以在其中部署应用程序并配置实例的 CPU、内存、扩展方法等云资源。这将为您提供运行应用程序的架构。
此服务不适用于本地环境。相反,托管(理想情况下)已在本地环境中测试过的应用程序是一个不错的选择。
假设:您不在本地使用 App Engine 运行具有 Datastore 依赖项的 Django 应用程序,您在本地运行具有 Datastore(和其他)依赖项的 Django 应用程序然后 准备好后将其部署到 App Engine。
大多数 GCP 服务都有其客户端库,因此我们可以通过代码与它们进行交互,即使在本地环境中也是如此。您询问的ndb 属于 Google Cloud Datastore,可以安装在 Python 环境中:
pip install google-cloud-ndb
安装后,您就可以在本地与 Datastore 进行交互了。请在Datastore Python Client Library 参考中找到有关设置凭据和代码 sn-ps 的详细信息。
希望这有帮助! :)
【讨论】: