Google Cloud CLI 包含一个本地开发服务器 (dev_appserver.py)。您可以使用本地开发服务器模拟在生产环境中运行 App Engine 应用,并使用它来访问 App Engine 旧版捆绑服务。 该模拟环境会强制实施一些沙盒限制,例如受限制的系统功能和运行时语言模块导入,但不包括请求超时或配额等其他限制。
本地开发服务器还会模拟由 App Engine SDK 库提供的服务(包括 Datastore、Memcache 和任务队列),在本地执行其任务。当您的应用在开发服务器中运行时,您仍然可以使用 Google API HTTP 端点对生产基础设施进行远程 API 调用。
设置本地开发服务器
如需运行本地开发服务器工具,您必须设置以下内容:
- 验证您是否已安装与 gcloud CLI 所需的 Python 版本兼容的 Python 3 解释器。
验证您是否已安装包含 Python 3 版 App Engine 扩展程序 的 Google Cloud CLI 组件 (
app-engine-python):gcloud components list如果未安装
app-engine-python组件,请运行以下命令:gcloud components install app-engine-python运行以下命令,找到 Google Cloud SDK 的安装路径:
gcloud info该命令会返回您在其中安装了 Google Cloud SDK 的根目录,例如:
Installation Root: [/Users/myname/google-cloud-sdk]在您安装了 Google Cloud CLI 的
/bin/文件夹下找到dev_appserver.py工具,例如:CLOUD_SDK_ROOT/bin/dev_appserver.py记下
dev_appserver.py的路径以备后用。
运行本地开发服务器
设置本地开发服务器并为应用创建 app.yaml 配置文件后,您可以使用 dev_appserver.py 命令在本地运行应用。
如需启动本地开发服务器,请执行以下操作:
如果您使用 --port 选项指定了自定义端口,请记得在浏览器中指向该端口。
如需通过命令行停止本地服务器,请按以下组合键:
- macOS 或 Linux:Control+C
- Windows:Control+Break
指定应用 ID
检测应用运行时环境
使用 Mail 服务
借助 SMTP 服务器或本地安装的 Sendmail,本地开发服务器可以在收到 App Engine Mail 服务调用时发送电子邮件。
使用 SMTP
要使用 SMTP 服务器实现邮件支持,请按如下方式调用 dev_appserver.py:
python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
--smtp_user=ajohnson --smtp_password=k1tt3ns [PATH_TO_YOUR_APP]
其中,您可以将 --smtp_host、--smtp_port、--smtp_user、--smtp_password 选项设置为您自己的值。
使用 Sendmail
要使用 Sendmail 实现邮件支持,请按如下方式调用 dev_appserver.py:
python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --enable_sendmail=yes [PATH_TO_YOUR_APP]
本地服务器使用 sendmail 命令发送包含安装的默认配置的电子邮件。
使用 URL Fetch 服务
如果您的应用使用 URL Fetch API 发出 HTTP 请求,本地开发服务器会直接从您的计算机中发出该请求。如果您使用代理服务器访问网站,则本地服务器上的 URL Fetch 行为可能与 App Engine 生产环境中的行为不同。
使用 Users 服务
App Engine 提供 Users 服务来简化应用的身份验证和授权。本地开发服务器使用自己的账号登录和��出页面模拟 Google 账号的行为。
命令行参数
如需了解本地开发服务器命令选项,请参阅本地开发服务器选项。