旧版捆绑服务提供的大多数功能现在由 Cloud 客户端库提供。如需了解详情,请参阅下面列出的建议替代方案。
如果您的项目无法迁移到未捆绑的解决方案,则您可以继续 在 应用中使用旧版捆绑服务作为备用。这种方法可让您灵活地在迁移周期的后期迁移到未捆绑的服务。
从旧版捆绑服务迁移后,您可以继续使用 App Engine 或迁移到 Cloud Run。Cloud Run 整合了标准环境和柔性环境中的许多最佳功能,在 App Engine 体验的基础上加以改进。如需比较功能并了解迁移方式,请参阅 App Engine 和 Cloud Run 比较指南。
App Engine 捆绑式服务的迁移路径
Blobstore
如需存储和检索数据,请通过 Google Cloud 客户端库使用 Cloud Storage。 如需开始使用,请参阅使用 Cloud Storage。
Datastore
图片
您可以从 Cloud Storage 传送图片,直接传送图片或使用第三方内容分发网络 (CDN)。
App Engine Images 服务还通过使用传送网址处理图片大小调整来避免向应用发出动态请求。如果您想实现类似功能,可以提前重新调整图片大小,并将其上传到 Cloud Storage 以供传送。或者,您也可以使用具有调整图片大小功能的第三方内容分发网络 (CDN) 服务。
日志记录
我们建议您更新应用以使用 Cloud Logging,它支持以下功能,例如在日志浏览器中查看日志、下载日志、按严重程度过滤消息以及将应用消息与特定请求相关联。或者,如果您更喜欢简单而不是数据准确性,则可以将结构化日志写入 stdout
或 stderr
。如需了解详情,请参阅写入和查看日志。
邮件
如需发送电子邮件,请使用第三方邮件提供程序,例如 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 方法 |
如需详细了解应用正在运行的服务的可用数据,请参阅 运行时环境。
OAuth
请使用 OAuth 2.0 API 的 oauth2.tokeninfo
方法,而不是使用 App Engine OAuth 服务来验证 OAuth 2.0 令牌。
搜索
您可以托管任何全文搜索数据库,例如 Compute Engine 上的 Elasticsearch,并通过您的服务访问该数据库。
任务队列
使用 Cloud Tasks REST API、RPC API 或 Cloud 客户端库将异步代码执行任务加入队列,并使用 App Engine 标准服务作为推送目标。如需了解详情,请参阅从任务队列迁移到 Cloud Tasks。
在许多情况下,您可能会使用拉取队列(例如,将由单独工作器拉取和处理的任务或消息加入队列),此时,Pub/Sub 是一个很好的替代方案,它可以提供类似的功能和传送保证。
用户身份验证
如需替代 Users API,请使用用户身份验证页面上说明的任何基于 HTTP 的身份验证机制。