关于 2024 年 9 月宣布的 Cloud Storage for Firebase 更改的常见问题解答

Firebase 对 Cloud Storage for Firebase 进行了一些更改,并采取积极的措施来防止我们的平台上出现滥用行为。为此,我们需要更新基础设施,以更好地与 Google Cloud Storage 配额和结算保持一致。

这些基础架构更改的一个结果是,我们很快就会开始要求项目采用随用随付 Blaze 定价方案才能使用 Cloud Storage for Firebase。即使采用 Blaze 定价方案,您仍可获享免费使用量。

请查看以下常见问题解答,了解我们在 2024 年 9 月宣布的更改:

对定价方案要求的更改

如果您想使用 Cloud Storage for Firebase,我们很快就会要求您采用随用随付 Blaze 定价方案即使采用 Blaze 定价方案,您仍可获享免费使用量。

我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队联系。

  • 2024 年 10 月 30 日起,将会发生以下变化:

    • 如需使用 Firebase 控制台或 REST API 配置新的默认存储桶,您的项目必须采用随用随付 Blaze 定价方案

    • 对于2024 年 10 月 30 日之后预配的所有默认存储桶,请注意以下事项:

  • 2025 年 10 月 1 日起,将会发生以下变化:

    • 如要继续访问默认存储桶和所有其他 Cloud Storage 资源,您的项目必须采用随用随付 Blaze 定价方案。即使采用 Blaze 定价方案,任何 *.appspot.com 默认存储桶也会保留其当前的免费使用量水平。

详细了解如果您未在此日期之前升级为采用 Blaze 定价方案,会出现什么情况。如果您有任何疑问,请与 Firebase 支持团队联系。

Firebase 致力于确保我们的产品和生态系统的安全。为此,我们对 Cloud Storage for Firebase 进行了一些更改,并采取积极的措施来防止我们的平台上出现滥用行为。这包括更新基础设施,以更好地与 Google Cloud Storage 配额和结算保持一致。

可以。如果您有 PROJECT_ID.appspot.com 默认存储桶,并且升级为采用随用随付 Blaze 定价方案,则您将保留默认存储桶当前的免费使用量水平,如下所述。超出此免费用量后,将按 Google App Engine 定价支付费用。

  • 已存储 5 GB
  • 每天下载 1 GB
  • 每天 20,000 次上传
  • 每天 50,000 次下载

请注意,2024 年 10 月 30 日,所有新的默认存储桶的名称格式均为 PROJECT_ID.firebasestorage.app,并且遵循 Google Cloud Storage 定价和用量,该定价和用量为 US-CENTRAL1US-EAST1US-WEST1 中的存储桶提供了“始终免费”层级

如需将您的项目升级为采用随用随付 Blaze 定价方案,您需要将项目与 Cloud Billing 账号关联。您可以使用 Firebase 控制台工作流升级定价方案

如需升级定价方案,您需要拥有项目的 Owner IAM 角色。

如果您有任何疑问,请与 Firebase 支持团队联系。

如果您想继续访问 PROJECT_ID.appspot.com 默认存储桶,则需要2025 年 10 月 1 日之前升级为采用随用随付 Blaze 定价方案

如需将您的项目升级为采用随用随付 Blaze 定价方案,您需要将项目与 Cloud Billing 账号关联。您可以使用 Firebase 控制台工作流升级定价方案

  • 2024 年 10 月 30 日:如果您尚未在项目中配置默认 Cloud Storage 存储桶,则除非您的项目采用 Blaze 定价方案,否则您将无法配置该存储桶。

  • 2025 年 10 月 1 日:如果您的项目未采用 Blaze 定价方案,则您将无法再对 PROJECT_ID.appspot.com 默认存储桶执行读/写操作。您也无法在 Firebase 控制台或 Google Cloud 控制台中查看存储桶或访问其数据。

    请注意,所有数据都将保留在您的存储桶中,但在升级为采用 Blaze 定价方案之前,您将无法访问这些数据。

如果您有任何疑问,请与 Firebase 支持团队联系。

如果您有一个 PROJECT_ID.appspot.com 默认存储桶,并且升级为采用 Blaze 定价方案后使用量超过下文所述的免费用量水平,那么您将在下一个结算周期内根据 Google App Engine 定价支付超额部分的费用。

  • 已存储 5 GB
  • 每天下载 1 GB
  • 每天 20,000 次上传
  • 每天 50,000 次下载

如果您有任何疑问,请与 Firebase 支持团队联系。

对默认 Cloud Storage 存储桶的更改

我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队联系。

不会。升级为采用 Blaze 定价方案后,默认 Cloud Storage 存储桶的名称不会发生变化。

  • 如果您在 2024 年 10 月 30 日之前预配了默认存储桶,那么您的默认存储桶的名称格式始终为 PROJECT_ID.appspot.com

    唯一的例外情况是,如果您删除 *.appspot.com 存储桶并预配新的默认存储桶。

  • 如果您在 2024 年 10 月 30 日当天或之后预配了默认存储桶,那么您的默认存储桶的名称格式始终为 PROJECT_ID.firebasestorage.app

已删除的存储桶无法恢复。请注意,这是所有 Cloud Storage 存储桶的当前行为。

2024 年 10 月 30 日:如果您删除了 PROJECT_ID.appspot.com 默认存储桶,则将无法使用相同的名称格式配置存储桶。

您可以改为创建一个新的默认 Cloud Storage 存储桶(如果您的项目采用的是 Blaze 定价方案),其名称格式为 PROJECT_ID.firebasestorage.app。它将遵循 Google Cloud Storage 定价和用量,该定价和用量为 US-CENTRAL1US-EAST1US-WEST1 中的存储桶提供了“始终免费”层级

不需要。您需要更新应用的代码库来适应这些变化。

所有现有的 PROJECT_ID.appspot.com 默认存储桶都将保留其名称格式。

为了避免服务中断,请务必在 2025 年 10 月 1 日之前将您的项目升级为采用随用随付 Blaze 定价方案。升级为采用 Blaze 定价方案后,您的代码库将和以前一样继续与 PROJECT_ID.appspot.com 默认存储桶进行交互。

不需要。您需要将数据从 PROJECT_ID.appspot.com 默认存储桶中移出以适应这些变化。

只要您在 2025 年 10 月 1 日之前将项目升级为采用随用随付 Blaze 定价方案,就不会出现服务中断。

对程序化互动(如 REST API 和 Terraform)的更改

如果您以编程方式配置或使用默认的 Cloud Storage for Firebase 存储桶(例如,使用 REST API 或 Terraform),请查看以下更改,了解您是否需要更改工作流或应用中的任何内容。

我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队联系。

2024 年 10 月 30 日,将会发生以下变化:

2024 年 10 月 30 日,将 Terraform 与 Cloud Storage for Firebase 搭配使用方面会发生以下变化。

您无法再使用 Terraform 配置默认的 Cloud Storage for Firebase 存储桶。这是因为您无法再通过 Google App Engine 配置此存储桶。您可以改为执行以下操作之一:

此外,请注意以下关于默认 Cloud Storage 存储桶的信息,这些存储桶将于 2024 年 10 月 30 日开始配置:

  • 如需配置默认的 Cloud Storage 存储桶,您的项目必须采用随用随付 Blaze 定价方案。

  • 您不再需要在默认 Cloud Storage 存储桶之前配置默认 Cloud Firestore 实例。

  • 您为默认 Cloud Firestore 实例选择的位置不适用于默认 Cloud Storage 存储桶(这意味着您的默认 Cloud Firestore 实例和默认 Cloud Storage 存储桶可以位于不同的位置)。

  • 默认 Cloud Storage 存储桶的名称格式将为 PROJECT_ID.firebasestorage.app(而不是之前的 PROJECT_ID.appspot.com)。

对“默认 Google Cloud 资源”的更改

“默认 Google Cloud 资源”是指与 Google App Engine 关联的所有项目资源,其中包括以下项目:

  • 默认 Cloud Firestore 实例
  • 默认 Cloud Storage for Firebase 存储桶(尤其是名称格式为 PROJECT_ID.appspot.com 的那些存储桶)
  • Google Cloud Scheduler(专门针对第 1 代预定函数)

随着 Firebase 生态系统在过去几年发生了许多变化,Firebase 相关资源与 Google App Engine 的关联也在不断发生变化。

我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队联系。

“默认 Google Cloud 资源的位置”是与 Google App Engine 关联的所有项目资源的位置设置,包括以下内容:

  • 默认 Cloud Firestore 实例
  • 默认 Cloud Storage for Firebase 存储桶(尤其是名称格式为 PROJECT_ID.appspot.com 的那些存储桶)
  • Google Cloud Scheduler(专门针对第 1 代预定函数)

在项目中设置其中任一资源时,您会以传递方式设置项目中 Google App Engine 应用的位置。这会进而为与 Google App Engine 关联的所有资源设置位置。

请注意以下几点:

  • 2024 年 10 月 30 日之前预配的任何默认 Cloud Storage 存储桶(名称格式为 PROJECT_ID.appspot.com)都与 Google App Engine 关联。这有以下含义:

    • 存储桶的位置将设置与 Google App Engine 关联的资源的位置(例如默认 Cloud Firestore 实例的位置)。
  • 2024 年 10 月 30 日开始预配的任何默认 Cloud Storage 存储桶(名称格式为 PROJECT_ID.firebasestorage.app不会Google App Engine 相关联。这有以下含义:

    • 配置默认的 Cloud Storage 存储桶将不再设置与 Google App Engine 关联的资源的位置(例如默认 Cloud Firestore 实例的位置)。

    • 配置默认的 Cloud Firestore 实例将不再设置项目的默认 Cloud Storage 存储桶的位置。

    • 现在,您的默认 Cloud Storage 存储桶可用的位置与 Google Cloud Storage 可用的位置相同(而不是仅限于 Google App Engine 可用的那些位置)。

“默认 Google Cloud 资源”是指与 Google App Engine 关联的所有项目资源,其中包括以下项目:

  • 默认 Cloud Firestore 实例
  • 默认 Cloud Storage for Firebase 存储桶(尤其是名称格式为 PROJECT_ID.appspot.com 的那些存储桶)
  • Google Cloud Scheduler(专门针对第 1 代预定函数)

2024 年 10 月 30 日起,“默认 Google Cloud 资源”的概念不适用于新预配的默认 Cloud Storage 存储桶。在此日期之后配置的默认存储桶的名称格式为 PROJECT_ID.firebasestorage.app,并且Google App Engine 关联。如需了解详情,请参阅常见问题解答:“默认 Google Cloud 资源位置”会发生什么变化?

如果您希望设置或获取项目中任何资源的位置,则应改为直接与相应资源进行交互。

默认 Cloud Storage for Firebase 存储桶
默认 Cloud Firestore 实例

请注意,如果您在 2024 年 10 月 30 日之前预配了默认的 Cloud Storage 存储桶,则项目的默认 Cloud Firestore 实例的位置已设置(由于与 Google App Engine 关联)。

  • Firebase 控制台中:

    • Firebase 控制台的 Firestore 部分中设置和查找默认 Cloud Firestore 实例的位置。
  • 使用 REST API:

预定函数(第 1 代)

请注意,如果您在 2024 年 10 月 30 日之前配置了默认的 Cloud Storage 存储桶,那么项目的预定函数(第 1 代)已设置好(由于与 Google App Engine 关联)。

  • 设置和部署预定函数期间设置其位置。

  • Google Cloud 控制台中,从作业和函数的主题名称获取预定函数的位置 (firebase-schedule-FUNCTION_NAME-REGION)。