使用 Flask 编写一个可提供静态 HTML 文件的 Web 服务并在本地进行测试。 然后,创建将该 Web 服务部署到 App Engine 时所需的配置文件。
在此步骤中,您将创建一个可显示占位符数据的 Web 服务版并在本地进行测试。该操作的目标是确保您的基本 Web 服务在添加 Datastore 和 Firebase 身份验证前可正常运行。
准备工作
如果尚未创建 Google Cloud 项目,请创建一个 Google Cloud 项目。
如果您还没有为 Python 3 开发设置本地环境,请完成以下操作:
下载并安装 Python 3,用于开发 Web 服务和运行 Google Cloud CLI。
使用 Google Cloud 用户凭据通过 Google Cloud CLI 进行身份验证,并使用 Datastore 启用本地测试:
gcloud auth application-default login
设计 Web 服务文件的结构
您在其中创建 Web 服务的项目目录将具有以下文件结构:
building-an-app/
app.yaml
main.py
requirements.txt
static/
script.js
style.css
templates/
index.html
以下几个部分提供了一个如何在项目目录中设置文件的示例。
编写 Web 服务
Web 服务的初始迭代使用 Flask 来提供基于 Jinja 的 HTML 模板。
要设置 Web 服务,请执行以下操作:
创建
templates/index.html
文件:使用
static/script.js
和static/style.css
文件添加行为和样式:在
main.py
文件中,使用 Flask 呈现包含占位符数据的 HTML 模板:在
requirements.txt
文件中配置 Web 服务所需的所有依赖项:
测试 Web 服务
通过在虚拟环境中本地运行 Web 服务来对其进行测试:
Mac OS/Linux
- 创建一个独立的 Python 环境:
python3 -m venv env
source env/bin/activate
- 如果您当前不在包含示例代码的目录中,则导航到包含
hello_world
示例代码的目录。然后安装依赖项:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- 运行应用:
python main.py
- 在网络浏览器中,输入以下地址:
http://localhost:8080
Windows
使用 Powershell 运行 Python 包。
- 找到已安装的 PowerShell。
- 右键点击 Powershell 的快捷方式,并以管理员身份启动。
- 创建一个独立的 Python 环境。
python -m venv env
.\env\Scripts\activate
- 导航到项目目录并安装依赖项。如果您当前不在包含示例代码的目录中,则导航到包含
hello_world
示例代码的目录。然后安装依赖项:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- 运行应用:
python main.py
- 在网络浏览器中,输入以下地址:
http://localhost:8080
为 App Engine 配置 Web 服务
要将 Web 服务部署到 App Engine,您需要一个 app.yaml
文件。
此配置文件定义了 App Engine 的 Web 服务设置。
要配置 Web 服务以便部署到 App Engine,请在项目的根目录中创建 app.yaml
文件,例如 building-an-app
:
请注意,在这个简单的 Web 服务中,您的 app.yaml
文件只需定义静态文件的运行时设置和处理程序。
对于更复杂的 Web 服务,您可以在 app.yaml
中配置其他设置,例如扩缩、其他处理程序及其他应用元素(如环境变量和服务名称)。如需了解详情和所有受支持元素的列表,请参阅 app.yaml
参考。
后续步骤
现在您已配置、创建并测试 Web 服务,接下来即可将该版本的 Web 服务部署到 App Engine。