我們在 2024 年 9 月 宣布更新基礎架構,以便更妥善地配合 Google Cloud Storage 配額和計費機制,並防止平台遭到濫用。
以下是兩個重點:
請參閱下列常見問題,進一步瞭解相關異動:
帳單規定和疑難排解
如要使用 Cloud Storage for Firebase ,Firebase 專案必須採用即付即用 Blaze 定價方案 。即使採用 Blaze 定價方案,還是可以享有免付費用量。
如果 Firebase 專案採用 Spark 定價方案,您將無法存取任何 Cloud Storage bucket (包括預設 bucket),且對 bucket 的 API 呼叫會傳回 402 或 403 錯誤。
如何重新取得存取權
如要重新存取 Cloud Storage 資源和資料,並恢復服務品質,請升級至即付即用 Blaze 定價方案 。即使採用 Blaze 定價方案,還是可以享有免付費用量,包括舊版 *.appspot.com 預設 bucket。
無法在控制台存取
如果專案採用 Spark 定價方案,您將無法再透過 Firebase 控制台和 Google Cloud 控制台存取 bucket。系統會將您重新導向至 Cloud Storage 到達網頁,您可以在該頁面升級至 Blaze 定價方案。
402 和 403 錯誤
如果專案採用 Spark 定價方案,對 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}
疑難排解
如果遇到任何問題,請參閱這些疑難排解資源。如果下列方法都無法解決問題,請與 Firebase 支援團隊聯絡 。
疑難排解帳單設定問題
Cloud Billing 說明文件提供常見帳單和付款問題的疑難排解說明 。舉例來說,如果印度簽帳金融卡或信用卡不適用 ,可以參考相關解決方案。
排解服務帳戶權限問題
如要讓 Cloud Storage for Firebase 正常運作,Firebase 專案中的服務帳戶必須具備特定 IAM 權限。
如果 Firebase 控制台顯示這個服務帳戶的權限錯誤,通常是因為服務帳戶已從 Firebase 專案中刪除。如要解決這個問題,請按照儲存體帳戶常見問題 中的步驟操作。
定價方案常見問題
如要使用 Cloud Storage for Firebase ,Firebase 專案必須採用即付即用 Blaze 定價方案 。即便採用 Blaze 定價方案,還是可以享有免付費用量。
重要事項 :以下是定價方案規定的重點摘要 (詳情請參閱下方各個常見問題):
如要佈建新的 Cloud Storage for Firebase 預設 bucket,Firebase 專案必須採用即付即用 Blaze 定價方案 。這個 bucket 可選擇使用 Google Cloud Storage 的「一律免費」方案 。
如要繼續使用預設 bucket 和其他所有 Cloud Storage 資源,Firebase 專案必須採用即付即用 Blaze 定價方案 。即使採用 Blaze 定價方案,任何 *.appspot.com 預設 bucket 仍會維持目前的免付費用量級別。
我們瞭解您需要時間評估這些異動,並調整 Firebase 專案和工作流程。如有任何問題,請與 Firebase 支援團隊 聯絡。
Cloud Storage for Firebase 的定價方案有哪些規定?
下列計費規定適用於所有使用 Cloud Storage for Firebase 的專案:
如要使用 Firebase 控制台或 REST API 佈建新的預設 bucket ,專案必須採用即付即用 Blaze 定價方案 。
2024 年 9 月
之後 佈建的所有預設 bucket 具有下列特性:
如要繼續存取預設 bucket 和所有其他 Cloud Storage 資源 ,專案必須採用即付即用 Blaze 定價方案 。即使採用 Blaze 定價方案,任何 *.appspot.com 預設 bucket 仍會維持目前的免付費用量級別。
進一步瞭解未升級至 Blaze 定價方案的影響 。如有任何問題,請與 Firebase 支援團隊 聯絡。
為什麼 Firebase 要調整定價方案?
Firebase 致力維護產品和生態系統的安全。因此,我們將對 Cloud Storage for Firebase 進行一些調整,並採取主動措施,防止平台遭到濫用。包括更新基礎架構,以便更符合 Google Cloud Storage 配額和計費方式。
如果升級至 Blaze 定價方案,還能享有免付費用量嗎?
可以,如果您有 PROJECT_ID .appspot.com 預設 bucket,並升級至即付即用的 Blaze 定價方案 ,則預設 bucket 的免付費用量級別會維持不變,如下所述。超過這個免費用量的部分,會按照 Google App Engine 定價 計費。
5 GB 儲存空間
每天下載 1 GB
每天 20,000 次上傳
每天 50,000 次下載
自 2024 年 9 月 起 ,所有新的預設 bucket 名稱格式皆為 PROJECT_ID .firebasestorage.app ,並遵循 Google Cloud Storage 定價和用量 ,為 US-CENTRAL1 、US-EAST1 和 US-WEST1 中的 bucket 提供「一律免費」級別 。
如果 *.appspot.com 預設 bucket 的用量超過免付費用量,會發生什麼事?
如果您有 PROJECT_ID .appspot.com 預設 bucket,並升級至 Blaze 定價方案,且用量超過下方所述的免付費用量級別,則系統會在下一個帳單週期,根據 Google App Engine 定價 向您收取超額費用。
5 GB 儲存空間
每天下載 1 GB
每天 20,000 次上傳
每天 50,000 次下載
如有任何問題,請與 Firebase 支援團隊 聯絡。
預設 Cloud Storage 值區的變更
重要事項 :以下是預設 bucket 的重點摘要 (詳情請參閱下方各個常見問題):
所有新佈建的預設 Cloud Storage bucket 都採用 PROJECT_ID .firebasestorage.app 格式的名稱。
這些 bucket 遵循 Google Cloud Storage 定價和用量 ,為 US-CENTRAL1 、US-EAST1 和 US-WEST1 中的 bucket 提供「一律免費」方案 。
現有 PROJECT_ID .appspot.com 預設 bucket 的名稱不會變更。
請參閱下列常見問題,進一步瞭解這些規定。如有任何問題,請與 Firebase 支援團隊 聯絡。
預設 bucket 的名稱會變更嗎?
不會。升級至 Blaze 定價方案時,預設 Cloud Storage bucket 的名稱不會 變更。
如果您是在 2024 年 9 月 之前 建立預設 bucket ,則預設 bucket 的名稱格式為 PROJECT_ID .appspot.com 。
唯一的例外狀況是,您刪除 *.appspot.com bucket ,並佈建新的預設 bucket。
如果您最近才建立預設 bucket (2024 年 9 月 之後 ),則預設 bucket 的名稱格式為 PROJECT_ID .firebasestorage.app 。
如果刪除 *.appspot.com 預設 bucket,會發生什麼事?
在永久刪除時間到期前,您可以使用 Cloud Storage Buckets: restore API 還原已刪除的 bucket。
如果刪除 PROJECT_ID .appspot.com 預設 bucket,就無法佈建名稱格式相同的 bucket。
不過,如果專案採用 Blaze 定價方案,您可以建立新的預設 Cloud Storage bucket,名稱格式為 PROJECT_ID .firebasestorage.app 。這項服務遵循 Google Cloud Storage 定價和用量 ,為 US-CENTRAL1 、US-EAST1 和 US-WEST1 中的 bucket 提供「一律免費」級別 。
我需要更新應用程式的程式碼集嗎?
不需要。您不必 更新應用程式的程式碼集。
所有現有的 PROJECT_ID .appspot.com 預設 bucket 都會保留名稱格式。
只要專案採用即付即用 Blaze 定價方案 ,程式碼集就會像往常一樣,繼續與 PROJECT_ID .appspot.com 預設 bucket 互動。
我是否需要將資料移出 *.appspot.com 預設 bucket?
不需要。您不 需要將資料移出 PROJECT_ID .appspot.com 預設 bucket。
只要將專案升級至即付即用 Blaze 定價方案 ,就能繼續存取 bucket,服務也不會中斷。
程式輔助互動 (例如 REST API 和 Terraform) 的異動
如果您透過程式輔助方式 (例如使用 REST API 或 Terraform) 佈建或使用預設 Cloud Storage for Firebase bucket,請查看下列異動,確認是否需要變更工作流程或應用程式。
重要事項 :以下是程式輔助互動的重點摘要 (詳情請參閱下方的常見問題):
請參閱下列常見問題,進一步瞭解這些規定。如有任何問題,請與 Firebase 支援團隊 聯絡。
使用 REST API 有哪些異動?
下列異動適用於涉及 Cloud Storage for Firebase 的 REST API:
「預設Google Cloud 資源」的變更
「預設 Google Cloud 資源」 是指與 Google App Engine 相關聯的任何專案資源,包括:
預設 Cloud Firestore 執行個體
預設 Cloud Storage for Firebase bucket (特別是名稱格式為 PROJECT_ID .appspot.com 的 bucket)
Google Cloud Scheduler (專用於第 1 代排定函式)
多年來,Firebase 生態系統歷經多次變更,Firebase 相關資源與Google App Engine 的關聯也隨之改變。
請參閱下列常見問題,進一步瞭解這些規定。如有任何問題,請與 Firebase 支援團隊 聯絡。
「預設 Google Cloud 資源的位置」有何異動?
「預設 Google Cloud 資源的位置」 是與 Google App Engine 相關聯的任何專案資源的位置設定,包括:
預設 Cloud Firestore 執行個體
預設 Cloud Storage for Firebase bucket (特別是名稱格式為 PROJECT_ID .appspot.com 的 bucket)
Google Cloud Scheduler (專用於第 1 代排定函式)
在專案中設定上述任一資源時,系統會一併設定專案中 Google App Engine 應用程式的位置。這會連帶設定與 Google App Engine 相關聯的所有資源位置。
重要事項: 自 2024 年 10 月 30 日 起,佈建預設 Cloud Storage bucket 時,不會再設定「預設 Google Cloud 資源的位置」(例如專案預設 Cloud Firestore 執行個體的位置)。此外,佈建預設 Cloud Firestore 執行個體時,系統不會再設定新預設 Cloud Storage bucket 的位置 (名稱格式為 PROJECT_ID .firebasestorage.app )。
注意事項:
2024 年 9 月
之前 佈建的任何預設 Cloud Storage bucket
(名稱格式為 PROJECT_ID .appspot.com ) 都會
與 Google App Engine 建立關聯。
這表示:
值區的位置會決定與 Google App Engine 相關聯的資源位置 (例如預設 Cloud Firestore 執行個體的位置)。
2024 年 9 月
之後佈建的任何預設 Cloud Storage bucket
(名稱格式為 PROJECT_ID .firebasestorage.app ),
皆未 與 Google App Engine 建立關聯。
這表示:
佈建預設 Cloud Storage bucket 時,不會設定與 Google App Engine 相關聯的資源位置 (例如預設 Cloud Firestore 執行個體的位置)。
佈建預設 Cloud Firestore 執行個體時,不會設定專案預設 Cloud Storage bucket 的位置。
預設 Cloud Storage bucket 的可用位置與 Google Cloud Storage 的可用位置 相同 (而非僅限於 Google App Engine 的位置)。
如何設定或取得「預設 Google Cloud 資源」的位置?
「預設 Google Cloud 資源」 是指與 Google App Engine 相關聯的任何專案資源,包括:
預設 Cloud Firestore 執行個體
預設 Cloud Storage for Firebase bucket (特別是名稱格式為 PROJECT_ID .appspot.com 的 bucket)
Google Cloud Scheduler (專用於第 1 代排定函式)
「預設 Google Cloud 資源」的概念不適用於名稱格式為 PROJECT_ID .firebasestorage.app 的預設 Cloud Storage bucket,且這些 bucket 並未 與 Google App Engine 建立關聯。如要瞭解詳情,請參閱常見問題:「預設 Google Cloud 資源的位置」發生什麼事?
重要事項: 由於 *.firebasestorage.app 預設 bucket 未與 Google App Engine 建立關聯,因此其位置不會 設定「預設 Google Cloud 資源的位置」(例如預設 Cloud Firestore 執行個體的位置)。此外,在專案中先 佈建預設 Cloud Firestore 執行個體,並不會設定這些 *.firebasestorage.app 預設 bucket 的位置。
如要設定或取得專案中任何資源的位置,請改為直接與資源互動。
預設 Cloud Storage for Firebase 值區
在 Firebase 控制台中:
使用 REST API:
預設 Cloud Firestore 執行個體
請注意,如果您有舊版 *.appspot.com 預設 bucket (在 2024 年 9 月 之前 佈建),則專案預設 Cloud Firestore 執行個體的位置已設定 (因為與 Google App Engine 相關聯)。
在 Firebase 控制台中:
使用 REST API:
排定的函式 (第 1 代)
請注意,如果您有舊版 *.appspot.com 預設 bucket (在 2024 年 9 月 之前 佈建),則專案的排定函式 (第 1 代) 已設定完成 (因為與 Google App Engine 相關聯)。