旧版捆绑服务提供的大多数功能现在是由 PHP 版 Cloud 客户端库提供。如需了解详情,请参阅下面列出的建议替代方案。
如果您的项目无法迁移到未捆绑的解决方案,则您可以继续在 PHP 7/8 应用中使用旧版捆绑服务作为后备。这种方法可让您灵活地在迁移周期的后期迁移到未捆绑的服务。
Blobstore
如需存储和检索数据,请通过 Google Cloud 客户端库使用 Cloud Storage。 如需开始使用,请参阅使用 Cloud Storage。
数据存储区
您可以使用 Datastore 模式的 Firestore 作为与 Java 8 运行时捆绑的 Datastore API 的替代方案。Firestore 是 Datastore 的最新版本,对于将主要由 App Engine 应用使用的数据库,建议使用 Datastore 模式。
映像
您可以从 Cloud Storage 传送图片,直接传送图片或使用第三方内容分发网络 (CDN)。
如需调整图片大小、转换和处理图片,请使用图片处理库,例如: GD 或 、ImageMagick 如需使用某一个第三方库,请将库添加为依赖项,并更新代码以调用该库的 API。
App Engine Images 服务还通过使用传送网址处理图片大小调整来避免向应用发出动态请求。如果您想实现类似功能,可以提前重新调整图片大小,并将其上传到 Cloud Storage 以供传送。或者,您也可以使用具有调整图片大小功能的第三方内容分发网络 (CDN) 服务。
日志记录
我们建议您更新应用以使用 Cloud Logging,它支持以下功能,例如在日志浏览器中查看日志、下载日志、按严重程度过滤消息以及将应用消息与特定请求相关联。或者,您可以通过编写包含 JSON 对象结构形式的特定数据的日志消息,来启用这些功能。 如需了解详情,请参阅写入和查看日志。
如需发送电子邮件,请使用第三方邮件提供程序,例如 SendGrid、Mailgun 或 Mailjet。所有这些服务都提供用于从应用发送电子邮件的 API。
Memcache
要缓存应用数据,请使用 Memorystore for Redis。
模块
要获取信息并修改应用正在运行的服务,请结合使用环境变量和 App Engine Admin API:
服务信息 | 访问方式 |
---|---|
当前应用 ID | GAE_APPLICATION 环境变量 |
当前项目 ID | GOOGLE_CLOUD_PROJECT 环境变量 |
当前服务名称 | GAE_SERVICE 环境变量 |
当前服务版本 | GAE_VERSION 环境变量 |
当前实例 ID | GAE_INSTANCE 环境变量 |
默认主机名 | Admin API apps.get 方法 |
服务列表 | Admin API apps.services.list 方法 |
服务版本的列表 | Admin API apps.services.versions.list 方法 |
默认的服务版本,包括流量拆分设置(如果有) | Admin API apps.services.get 方法 |
正在运行的某版本实例的列表 | Admin API apps.services.versions.instances.list 方法 |
命名空间
借助 Namespaces API,多租户应用只需为每个租户指定唯一的命名空间字符串,即可跨租户划分数据。
Datastore 直接支持多租户,但其他 Google Cloud 服务不支持。如果您的多租户应用使用其他 Google Cloud 服务,则需要手动处理多租户。要实现完全隔离的服务实例,您可以使用 Cloud Resource Manager API 以编程方式创建新项目,并访问不同项目的资源。
OAuth
请使用 OAuth 2.0 API 的 oauth2.tokeninfo
方法,而不是使用 App Engine OAuth 服务来验证 OAuth 2.0 令牌。
搜索
您可以托管任何全文搜索数据库,例如 Compute Engine 上的 Elasticsearch,并通过您的服务访问该数据库。
任务队列
您可以对使用 Cloud Tasks REST API、RPC API 或 Google Cloud 客户端库的异步代码执行任务排队,并使用 PHP 7/8 App Engine 标准服务作为推送目标。如需了解详情,请参阅从任务队列迁移到 Cloud Tasks。
在可能使用拉取队列(如由单独工作器拉取和处理的队列任务或消息)的许多情况中,您可以使用 Pub/Sub 作为备用选择,此工具能提供类似功能,保证送达。
对于 Java 11/17,请参阅以下与 Cloud Tasks API 进行交互的示例程序。
用户身份验证
如需替代 Users API,请使用任何基于 HTTP 的身份验证机制,例如:
- OAuth 2.0 和 OpenID Connect,用于提供您所选提供商的联合身份服务。Google 是 OpenID Connect 身份提供商之一。您还可以在若干其他提供商之中进行选择。
- Firebase 身份验证,使用用户名/密码以及 Google、Facebook、Twitter 等联合身份服务进行身份验证。
- Google Identity Platform,提供诸多 Google 用户帐号身份验证和授权选项。
- Auth0,使用多个身份提供商和单点登录功能进行身份验证。