本教程介绍了如何在 Compute Engine 上配置和部署在预建 Docker 容器中运行的示例 API 和 Extensible Service Proxy (ESP)。示例 API 是使用 OpenAPI 规范描述的。本教程还介绍了如何创建 API 密钥,以及如何在向 API 发送请求时使用此密钥。
如需大致了解 Cloud Endpoints,请参阅关于 Endpoints 和 Endpoints 架构。
目标
学习本教程时,请使用以下概要任务列表。为确保请求成功发送到 API,您必须完成所有任务。
- 设置 Google Cloud 项目。请参阅准备工作。
- 创建 Compute Engine 虚拟机实例。请参阅创建 Compute Engine 实例。
- 下载示例代码。请参阅获取示例代码。
- 配置
openapi.yaml文件,该文件用于配置 Endpoints。请参阅配置 Endpoints。 - 部署 Endpoints 配置以创建 Endpoints 服务。请参阅部署 Endpoints 配置。
- 在 Compute Engine 虚拟机上部署 API 和 ESP。请参阅部署 API 后端。
- 使用 IP 地址向 API 发送请求。请参阅使用 IP 地址发送请求。
- 为示例 API 配置 DNS 记录。请参阅为 Endpoints 配置 DNS。
- 使用完全限定的域名向 API 发送请求。请参阅使用 FQDN 发送请求。
- 跟踪 API 活动。请参阅跟踪 API 活动。
- 避免您的 Google Cloud 账号产生费用。请参阅清理。
费用
在本文档中,您将使用 Google Cloud的以下收费组件:
如需根据您的预计使用情况来估算费用,请使用价格计算器。
完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理。
准备工作
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 记下项目 ID,您稍后需要用到。
-
您需要一个应用来向示例 API 发送请求。
- Linux 和 macOS 用户:本教程提供了一个使用
curl的示例,它通常已预装在您的操作系统中。如果您没有curl,可以从curl版本和下载页面中下载。 - Windows 用户:本教程提供了一个使用
Invoke-WebRequest的示例,PowerShell 3.0 及更高版本支持该命令。
- Linux 和 macOS 用户:本教程提供了一个使用
- 下载 Google Cloud CLI。
-
更新 gcloud CLI 并安装 Endpoints 组件。
gcloud components update
-
确保 Google Cloud CLI (
gcloud) 有权访问您在 Google Cloud上的数据和服务: 在浏览器打开的新标签页中,选择一个账号。gcloud auth login
- 将默认项目设置为您的项目 ID。
gcloud config set project YOUR_PROJECT_ID
将 YOUR_PROJECT_ID 替换为项目 ID。如果您有其他 Google Cloud 项目,并且想使用
gcloud来管理这些项目,请参阅管理 gcloud CLI 配置。
完成本文档中描述的任务后,您可以通过删除所创建的资源来避免继续计费。如需了解详情,请参阅清理。
创建 Compute Engine 实例
- 在 Google Cloud 控制台中,前往创建实例页面。
- 点击选择。
- 在防火墙部分,选择允许 HTTP 流量和允许 HTTPS 流量。
- 如需创建虚拟机,请点击创建。
- 确保您可以连接到虚拟机实例。
- 在虚拟机实例列表中,点击要连接的实例所在行中的 SSH。
- 现在,您可以使用终端在 Debian 实例上运行 Linux 命令。
- 输入
exit以断开与该实例的连接。
- 请记下实例名称、地区和外部 IP 地址,因为您稍后需要用到。
要创建 Compute Engine 实例,请执行以下操作:

实例启动需要您稍等片刻。准备就绪后,该实例将在虚拟机实例页面上列出,并显示绿色状态图标。
下载示例代码
将示例代码下载到您的本地机器。
如需克隆或下载示例 API,请执行以下操作:
- 将示例应用代码库克隆到本地机器:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
或者,下载该示例的 zip 文件并将其解压缩。
- 转到包含示例代码的目录:
cd java-docs-samples/endpoints/getting-started
如需克隆或下载示例 API,请执行以下操作:
- 将示例应用代码库克隆到本地机器:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
或者,下载该示例的 zip 文件并将其解压缩。
- 转到包含示例代码的目录:
cd python-docs-samples/endpoints/getting-started
如需克隆或下载示例 API,请执行以下操作:
- 确保已设置
GOPATH环境变量。 - 将示例应用代码库克隆到本地机器: