使用 Cloud Storage

如果您的 Java 8 应用在运行时需要读取和写入文件,或者传送影片、图片或其他静态内容等文件,我们建议您使用 Cloud Storage 存储分区。

App Engine 会在您创建应用时创建一个默认存储分区。该存储分区可提供 5GB 的免费存储空间以及 Cloud Storage I/O 操作的免费配额。您可以创建其他 Cloud Storage 存储桶,但只有默认存储桶包含 5GB 的免费存储空间。

将 Cloud Storage 与 App Engine 搭配使用

如需在 App Engine 应用中使用 Cloud Storage 存储桶,请执行以下操作:

  1. 查看 App Engine 项目中现有存储桶的名称。从 Cloud Storage 上传或下载数据时,您将需要指定这些名称。

    我们建议您将 Cloud Storage 存储分区的名称存储在应用的环境变量中,而不要将其硬编码到应用中。

  2. 在您的应用中,将 Cloud Storage 声明为依赖项,方法是将库添加到应用的依赖项文件中

  3. 使用 Google Cloud 客户端库从您的存储分区上传下载数据。

使用默认存储分区

当您创建应用时,App Engine 会创建一个默认存储桶,该存储桶可提供 5GB 的免费存储空间。默认存储桶还可提供 Cloud Storage I/O 操作的免费配额。如需了解详情,请参阅价格、配额和限制。您需要为超出 5GB 限制的存储空间付费。

默认存储桶的名称采用以下格式:

project-id.appspot.com

App Engine 还会在部署应用的新版本时创建一个存储桶以用于临时存储。该存储桶的名称为 staging.project-id.appspot.com,仅可供 App Engine 使用。应用无法与此存储桶交互。

设置存储桶和对象权限

与您的应用关联的默认服务账号具有对项目中的存储桶执行读写操作所需的所有权限。

为了管理这些权限,每个 App Engine 应用都会使用一个默认服务账号,该账号提供对应用所属项目中 Cloud Storage 存储桶的所有读写权限。您可以更改默认服务账号的权限,但您的应用可能会失去访问权限,除非您分配了拥有所需权限的 IAM 角色。

如需了解如何允许其他用户、应用或项目访问存储桶及其内容,请参阅设置存储桶权限设置对象权限

将 Cloud Storage 与本地开发服务器搭配使用

App Engine 本地开发服务器不会模拟 Cloud Storage,因此必须通过互联网将所有 Cloud Storage 请求发送到实际的 Cloud Storage 存储桶。

价格、配额和限制

通过 Cloud Storage 客户端库调用 Cloud Storage 不会产生带宽费用。不过,此操作会产生操作费用。此外,由于该客户端库使用 URL Fetch 服务与 Cloud Storage 进行交互,因此这些调用将计入 URL Fetch 配额

请注意,Cloud Storage 是付费服务;您需要按照 Cloud Storage 价格表支付费用。