正如我们在 2024 年 9 月宣布的那样,Firebase 对 Cloud Storage for Firebase 进行了一些更改,并采取积极的措施来防止我们的平台上出现滥用行为。为此,我们需要更新基础设施,以更好地与 Google Cloud Storage 配额和结算保持一致。
这些基础架构更改的一个结果是,我们现在要求项目采用随用随付 Blaze 定价方案 才能使用 Cloud Storage for Firebase 。即使采用 Blaze 定价方案,您仍可获享免费使用量。
如果您有 *.appspot.com 默认存储桶,则必须在 2026 年 2 月 3 日 之前将 Firebase 项目升级为随用随付 Blaze 定价方案 ,才能继续访问您的默认存储桶。您可以在本页上详细了解此要求。了解您在尚未升级时可能会遇到的情况(例如 402 和 403 错误)。
请注意,在 2024 年 9 月的原始公告中,这项必须采用 Blaze 定价方案的要求的截止日期是 2025 年 10 月。
不过,为确保您有充裕的时间做好准备,并避免在年终业务高峰期发生中断,我们将此要求的截止日期延长到了 2026 年 2 月 3 日 。
请查看以下常见问题解答,详细了解相关更改:
您在尚未升级时可能会遇到的情况
会发生的情况: 自 2026 年 2 月 3 日 起,如果您有 *.appspot.com 默认存储桶,但您的 Firebase 项目仍采用 Spark 定价方案 ,您将无法再通过控制台访问您的存储桶,并且您的 API 调用将开始返回 402 和 403 错误。
您需要执行的操作: 如需恢复访问权限并确保服务质量,请升级到随用随付 Blaze 定价方案 。即使采用 Blaze 定价方案,您仍可获享免费使用量。
无法在控制台中访问
您将无法再通过 Firebase 控制台和 Google Cloud 控制台访问您的存储桶。 而是会重定向到 Cloud Storage 着陆页,您可以在该页面上升级到 Blaze 定价方案。
402 和 403 错误
您对 Cloud Storage API 的调用(例如从您的应用进行的调用)将开始失败并返回 402 或 403 错误。
402 错误
"error": {
"code": 402,
"message": "Cloud Storage for Firebase no longer supports Firebase projects that are on the no-cost Spark pricing plan. Please upgrade to the pay-as-you-go Blaze pricing plan to maintain access to your default bucket and all other Cloud Storage resources. For details, see our FAQ: https://firebase.google.com/docs/storage/faqs-storage-changes-announced-sept-2024"
}
或
storage/quota-exceeded: Firebase Storage: Quota for bucket '{project-id}.appspot.com' exceeded, please view quota on https://firebase.google.com/pricing/. (storage/quota-exceeded)
403 错误
<Error>
<Code>UserProjectAccountProblem</Code>
<Message>The project to be billed is associated with an absent billing account.</Message>
<Details>The billing account for the owning project is disabled in state absent</Details>
</Error>
或
storage/unauthorized: User does not have permission to access {path}
对定价方案要求的更改
如果您想使用 Cloud Storage for Firebase ,我们现在要求您采用随用随付 Blaze 定价方案 。即使采用 Blaze 定价方案,您仍可获享免费使用量。
重要提示 :以下是本部分中常见问题解答的要点汇总(但请务必查看下方的每个常见问题解答以了解详情):
从 2024 年 10 月 30 日 起 ,您的 Firebase 项目必须采用随用随付 Blaze 定价方案 才能配置新的 Cloud Storage for Firebase 默认存储桶。存储桶可以为 Google Cloud Storage 选择使用“始终免费”层级 。
从 2026 年 2 月 3 日 起 ,您的 Firebase 项目必须采用随用随付 Blaze 定价方案 ,才能继续访问您的默认存储桶和所有其他 Cloud Storage 资源。即使采用 Blaze 定价方案,任何 *.appspot.com 默认存储桶也会保留其当前的免费使用量水平。
我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队 联系。
Firebase 为何要对定价方案做出这些更改?
Firebase 致力于确保我们的产品和生态系统的安全。为此,我们对 Cloud Storage for Firebase 进行了一些更改,并采取积极的措施来防止我们的平台上出现滥用行为。这包括更新基础设施,以更好地与 Google Cloud Storage 配额和结算保持一致。
如果我升级为采用 Blaze 定价方案,可以继续免费使用吗?
可以。如果您有 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-CENTRAL1 、US-EAST1 和 US-WEST1 中的存储桶提供了“始终免费”层级 。
如果我不将项目升级为采用 Blaze 定价方案,会发生什么情况?
从 2024 年 10 月 30 日 起 :如果您尚未在项目中配置默认 Cloud Storage 存储桶,则除非您的项目采用 Blaze 定价方案,否则您将无法配置该存储桶。
从 2026 年 2 月 3 日 起 :如果您的项目未采用 Blaze 定价方案,则您将无法再对 PROJECT_ID .appspot.com 默认存储桶执行读/写操作。您也无法在 Firebase 控制台或 Google Cloud 控制台中查看存储桶或访问其数据。
请注意,所有数据都将保留在您的存储桶中,但在升级为采用 Blaze 定价方案之前,您将无法访问这些数据。
如果您有任何疑问,请与 Firebase 支持团队 联系。
如果我的 *.appspot.com 默认存储桶的用量超过免费用量水平,会怎么样?
如果您有一个 PROJECT_ID .appspot.com 默认存储桶,并且升级为采用 Blaze 定价方案后使用量超过下文所述的免费用量水平,那么您将在下一个结算周期内根据 Google App Engine 定价 支付超额部分的费用。
已存储 5 GB
每天下载 1 GB
每天 20,000 次上传
每天 50,000 次下载
如果您有任何疑问,请与 Firebase 支持团队 联系。
对默认 Cloud Storage 存储桶的更改
重要提示 :以下是本部分中常见问题解答的要点汇总(但请务必查看下方的每个常见问题解答以了解详情):
从 2024 年 10 月 30 日 起 ,所有 新预配的默认 Cloud Storage 存储桶的名称格式都将为 PROJECT_ID .firebasestorage.app 。
这些存储桶将遵循 Google Cloud Storage 定价和用量 ,该定价和用量为 US-CENTRAL1 、US-EAST1 和 US-WEST1 中的存储桶提供了“始终免费”层级 。
任何现有的 PROJECT_ID .appspot.com 默认存储桶都不会发生变化(前提是您在 2026 年 2 月 3 日 之前将项目升级为随用随付 Blaze 定价方案 )。
我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队 联系。
我的默认存储桶的名称会发生变化吗?
不会。升级为采用 Blaze 定价方案后,默认 Cloud Storage 存储桶的名称不会 发生变化。
如果您在 2024 年 10 月 30 日 之前预配了默认存储桶 ,那么您的默认存储桶的名称格式始终为 PROJECT_ID .appspot.com 。
唯一的例外情况是,如果您删除 *.appspot.com 存储桶 并预配新的默认存储桶。
如果您在 2024 年 10 月 30 日 当天或之后预配了默认存储桶 ,那么您的默认存储桶的名称格式始终为 PROJECT_ID .firebasestorage.app 。
如果我删除 *.appspot.com 默认存储桶,会发生什么情况?
在硬删除时间过去之前,已删除的存储桶可使用 Cloud Storage Buckets: restore API 进行恢复。
从 2024 年 10 月 30 日 起 :如果您删除了 PROJECT_ID .appspot.com 默认存储桶,则将无法使用相同的名称格式配置存储桶。
您可以改为创建一个新的默认 Cloud Storage 存储桶(如果您的项目采用的是 Blaze 定价方案),其名称格式为 PROJECT_ID .firebasestorage.app 。它将遵循 Google Cloud Storage 定价和用量 ,该定价和用量为 US-CENTRAL1 、US-EAST1 和 US-WEST1 中的存储桶提供了“始终免费”层级 。
我需要更新应用的代码库吗?
不需要。您不 需要更新应用的代码库来适应这些变化。
所有现有的 PROJECT_ID .appspot.com 默认存储桶都将保留其名称格式。
为避免服务中断,请务必于 2026 年 2 月 3 日 之前将您的项目升级为随用随付 Blaze 定价方案 。升级为采用 Blaze 定价方案后,您的代码库将和以前一样继续与 PROJECT_ID .appspot.com 默认存储桶进行交互。
我需要将数据从 *.appspot.com 默认存储桶中移出吗?
不需要。您不 需要将数据从 PROJECT_ID .appspot.com 默认存储桶中移出以适应这些变化。
只要您在 2026 年 2 月 3 日 之前将项目升级为随用随付 Blaze 定价方案 ,服务便不会中断。
对程序化互动(如 REST API 和 Terraform)的更改
如果您以编程方式配置或使用默认的 Cloud Storage for Firebase 存储桶(例如,使用 REST API 或 Terraform),请查看以下更改,了解您是否需要更改工作流或应用中的任何内容。
重要提示 :以下是本部分中常见问题解答的要点汇总(但请务必查看下方的每个常见问题解答以了解详情):
我们理解,这些更改将需要您花费时间来评估并更改您的 Firebase 项目和工作流程。如果您有任何疑问,请与 Firebase 支持团队 联系。
在使用 REST API 方面有哪些变化?
从 2024 年 10 月 30 日 起 ,将会发生以下变化:
对“默认 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 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 存储桶将不会设置“默认 Google Cloud 资源的位置”(例如项目的默认 Cloud Firestore 实例的位置)。此外,配置默认 Cloud Firestore 实例将不再为新的默认 Cloud Storage 存储桶(名称格式为 PROJECT_ID .firebasestorage.app 的那些存储桶)设置位置。
请注意以下几点:
在 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 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 资源位置”会发生什么变化?
重要提示 :由于从 2024 年 10 月 30 日 开始预配的默认 Cloud Storage 存储桶与 Google App Engine 不关联,因此其位置不会 设置“默认 Google Cloud 资源的位置”(例如默认 Cloud Firestore 实例的位置)。此外,在项目中 先配置默认 Cloud Firestore 实例将不再为这些新的默认 Cloud Storage 存储桶设置位置。
如果您希望设置或获取项目中任何资源的位置,则应改为直接与相应资源进行交互。
默认 Cloud Storage for Firebase 存储桶
在 Firebase 控制台中:
在 Firebase 控制台的 Storage 部分 中设置和查找默认 Cloud Storage 存储桶的位置。
使用 REST API:
默认 Cloud Firestore 实例
请注意,如果您在 2024 年 10 月 30 日 之前预配了默认的 Cloud Storage 存储桶,则项目的默认 Cloud Firestore 实例的位置已设置(由于与 Google App Engine 关联)。
在 Firebase 控制台中:
使用 REST API:
预定函数(第 1 代)
请注意,如果您在 2024 年 10 月 30 日 之前配置了默认的 Cloud Storage 存储桶,那么项目的预定函数(第 1 代)已设置好(由于与 Google App Engine 关联)。