区域 ID
REGION_ID
是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r
包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。
详细了解区域 ID。
您可以使用各种方法在 App Engine 服务之间或者在 App Engine 服务与其他服务(包括 Google Cloud 服务和外部应用)之间通信。
如需与您的 App Engine 服务进行通信,最简单的方法是发送定向 HTTP 请求,在网址中包含资源的名称或 ID。例如,除了相应的 Google Cloud 项目 ID 外,您还可以包含要定位的服务或版本的 ID。
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
请注意,VERSION-dot-SERVICE-dot-PROJECT_ID
的总长度(其中 VERSION
是版本名称,SERVICE
是服务名称,PROJECT_ID
是项目 ID)不得超过 63 个字符,且首尾不能使用连字符。如果组合长度超过 63 个字符,您可能会看到错误 DNS address could not be
found.
详细了解 App Engine 中的请求:
您的 App Engine 服务还可以使用 Pub/Sub 通信,以便在进程(包括 App Engine)之间提供可靠的异步多对多消息传递。这些进程可以是您的应用、服务乃至外部应用的单个实例。
如需在数据库与 App Engine 应用或某个其他外部应用之间共享数据,请参阅了解数据和文件存储。
如果您使用旧版捆绑服务,则还可以使用 URL Fetch API 在服务之间以及从服务向外部端点传递请求。
此外,在标准环境中,位于同一 Google Cloud 项目中的服务还可以使用某个 App Engine API 来执行以下任务:
私密通信
同一项目中的服务之间的通信
您可以允许 App Engine 标准服务与同一项目中的其他 App Engine 服务进行通信,而无需将目标服务公开给公共互联网。
如需允许同一项目中的服务之间的通信,请执行以下操作:
通过将目标服务的入站流量设置调整为仅允许“内部”流量来配置入站流量控制。
“内部”设置仅允许来自项目的 VPC 网络的请求。这包括通过连接器路由出站流量时来自同一网络中的客户端应用的 App Engine 资源。来自互联网或其他项目(包括其他 App Engine 服务)的所有其他流量都会被屏蔽。 Google Cloud
通过无服务器 VPC 访问通道连接器路由流量:
对于每个将专用流量发送到其他应用端点的 App Engine 版本,请将该版本连接到属于 Google Cloud 项目自身网络之一的无服务器 VPC 访问通道连接器,而不是连接到共享 VPC 网络。
确保为无服务器 VPC 访问通道连接器使用的子网启用专用 Google 访问通道。
配置以下任一项:
通过为目标主机名添加 DNS 条目,配置客户端请求使用
private.googleapis.com
IP 范围。按照 DNS 配置添加 DNS 主机名,但请务必将专用区域配置为针对appspot.com
,而不是googleapis.com
。此外,请确保将流量定向到目标应用的appspot.com
地址,而不是自定义网域。您只能使用此appspot.com
网域在private.googleapis.com
IP 范围访问您的应用。将客户端应用配置为通过无服务器 VPC 访问通道连接器发送
all-traffic
,而不是将请求配置为使用private.googleapis.com
IP 范围。
不同项目中的服务之间的通信
如果项目中运行的应用属于共享 VPC 网络(配置为调用在共享 VPC 网络的宿主项目中运行的应用),则您可以在项目之间建立专用访问通道。 Google Cloud
如需使用此模式,请按照前面在同一项目中的服务之间进行通信的步骤执行操作。在标准环境中,将每个客户端版本连接到共享 VPC 网络中的无服务器 VPC 访问通道连接器。
在 App Engine 中,通过内部访问权限在项目之间进行通信的其他方法不可行。
预留的网址路径
无法使用以下网址路径:
- 以
/eventlog
结尾的路径 - 以
/_ah/
开头的路径 - 某些以
z
结尾的路径