为您的项目选择位置

多个 Firebase 产品需要设置位置信息:

  • Google Analytics(分析) - 如果您在 Firebase 项目中启用 Google Analytics(分析),则系统会提示您选择 Analytics 报告位置。此位置代表贵组织所在的国家/地区。Analytics 报告位置会决定收入报告所采用的币种。

  • Cloud FirestoreCloud Storage - 在您开始使用这两个产品中的任何一个时,系统会提示您选择项目的默认 Google Cloud Platform (GCP) 资源位置(如果在设置其他服务时尚未选择此位置)。

  • Cloud Functions for Firebase (仅限预定函数)- 如果您运行预定函数,Cloud Scheduler 将需要使用 App Engine 应用;在其设置过程中,系统会提示您选择项目的默认 Google Cloud Platform (GCP) 资源位置(如果在设置其他服务时尚未选择此位置)。

    如需详细了解非预定函数的位置信息设置,请访问 Cloud Functions 位置

  • Realtime Database - 如果您创建 Realtime Database 实例,系统会提示您选择实例的位置,并且各个实例可位于不同的位置。请注意,您的 Realtime Database 实例的位置不会影响默认 GCP 资源位置的选项。

为产品或产品组选择位置信息设置

对于大多数使用场景,您可以在 Firebase 控制台中选择位置信息设置,该设置可在项目创建时完成,也可随时在产品的控制台页面中完成。

Analytics

如果通过 Firebase 控制台为 Firebase 项目启用 Google Analytics(分析),系统会提示您选择 Analytics 报告位置。选择代表贵组织所在位置的国家/地区。

如果您的角色为项目 Owner 或 Editor,则可以修改 Analytics 报告位置的时区和币种;前往您的 Google Analytics(分析)设置,然后滚动到“报告”窗格。

Cloud Firestore、Cloud Storage 和预定函数

Cloud Firestore、Cloud Storage 和预定函数共用相同的位置信息设置,称为默认 GCP 资源位置(参阅下文详细了解此位置信息设置)。请注意,之前可能已在项目创建过程中或设置需要此信息的其他服务时完成了此操作。

  • 如果您设置 Cloud Firestore 或 Cloud Storage,系统会提示您在 Firebase 控制台工作流程中选择项目的默认 GCP 资源位置。

    对于 Cloud Storage,您的默认 GCP 资源位置仅应用于您的默认存储桶。如果您使用的是 Blaze 方案,可以创建多个存储桶,每个存储桶都可独立设置位置

  • 如果您运行预定函数,则 Cloud Scheduler 需要使用 App Engine 应用;在其设置过程中,系统会提示您选择项目的默认 GCP 资源位置。

  • 您可以通过调用 Firebase 项目的 defaultLocation.finalize 端点以编程方式设置默认 GCP 资源位置。

Realtime Database 位置

如果您创建新的 Realtime Database 实例,则需要为该实例指定位置。项目中的各个 Realtime Database 实例可位于不同的位置。下面列出了当前受支持的 Realtime Database 实例位置及其关联的数据库网址方案。

请注意,您的 Realtime Database 实例的位置不会影响默认 GCP 资源位置的选项。

区域名称 区域说明 数据库网址方案
us-central1 爱荷华 DATABASE_NAME.firebaseio.com
europe-west1 比利时 DATABASE_NAME.europe-west1.firebasedatabase.app
asia-southeast1 新加坡 DATABASE_NAME.asia-southeast1.firebasedatabase.app

查看位置信息设置

了解默认 GCP 资源位置

多项适用于您的应用的服务需要位置信息设置,此设置称为项目的默认 Google Cloud Platform (GCP) 资源位置,用于存储需要位置信息设置的 GCP 服务的数据。

以下产品共用相同的默认 GCP 资源位置:

  • Cloud Firestore
    请注意,您的默认 GCP 资源位置不适用于 Firebase Realtime Database

  • Cloud Storage
    请注意,您的默认 GCP 资源位置仅应用于您的默认 Cloud Storage 存储桶。如果您使用的是 Blaze 方案,则可以创建多个存储桶,每个存储桶都可独立设置位置

  • App Engine 应用 (例如,用于预定函数)
    如果您设置 App Engine 应用,其位置将是您的默认 GCP 资源位置。请注意,如果您使用 Cloud Scheduler(例如,运行预定函数),那么您的项目中必须存在 App Engine 应用。

您可以选择多区域位置单区域位置作为默认 GCP 资源位置。请注意,如果您已经有位置为 us-centraleurope-west 的 App Engine 应用,则任何使用该位置信息设置的 GCP 服务将被视为多区域服务。

多区域位置

如果您想要最大限度地提高数据库的可用性和耐用性,请选择多区域位置。

多区域位置由一组定义的区域(其中存储了数据库的多个副本)组成。每个副本要么是包含数据库中所有数据的读写副本,要么是不保留全部数据但参与复制的见证者副本。

通过在多个区域之间复制数据,即使整个区域丢失,系统也能继续传送数据。在一个区域内,数据会跨可用区复制,因此,即使可用区丢失,系统也能继续在该区域内传送数据。

Firebase 支持以下多区域 GCP 资源位置:
多区域位置名称 多区域位置说明 读写区域 见证者区域
eur3 欧洲 europe-west1(比利时)、europe-west4(荷兰) europe-north1(芬兰)
nam5 美国 us-central1(爱荷华)、us-central2(俄克拉荷马 - 不公开的 GCP 区域) us-east1(南卡罗来纳)

单区域位置

单区域位置是具体的地理位置,如南卡罗来纳州。单区域位置中的数据会复制到单个区域内的多个可用区。每个单区域位置与其他单区域位置至少相隔 100 英里。

如果您的应用对延迟较敏感,或者您想要与其他 GCP 资源共用位置,请选择单区域位置以降低成本和写入延迟。

Firebase 支持以下单区域 GCP 资源位置:
区域名称区域说明
北美洲
us-west1俄勒冈
us-west2洛杉矶
us-west3盐湖城
us-west4拉斯维加斯
northamerica-northeast1蒙特利尔

northamerica-northeast2

多伦多
us-east1南卡罗来纳
us-east4北弗吉尼亚
南美洲
southamerica-east1圣保罗
欧洲
europe-west2伦敦

europe-west4

荷兰

europe-west9

巴黎
europe-west3法兰克福
europe-central2华沙
europe-west6苏黎世
中东

me-central1

多哈

me-west1

特拉维夫
亚洲
asia-south1孟买

asia-south2

此位置不支持 Cloud Storage for Firebase。如果您打算使用 Cloud Storage for Firebase,应选择其他位置。

德里
asia-southeast1新加坡
asia-southeast2雅加达
asia-east2香港
asia-east1台湾
asia-northeast1东京
asia-northeast2大阪
asia-northeast3首尔
澳大利亚
australia-southeast1悉尼

australia-southeast2

此位置不支持 Cloud Storage for Firebase。如果您打算使用 Cloud Storage for Firebase,应选择其他位置。

墨尔本

后续步骤

  • 如需在特定位置创建 Cloud Firestore 数据库,请参阅 Cloud Firestore 使用入门

  • 如需创建 Cloud Storage 存储桶,请访问您平台的“使用入门”页面。

  • 如需使用 Cloud Functions for Firebase 运行预定函数,请参阅设置指南

  • 如需详细了解如何构建应用以满足您的延迟、可用性和耐用性要求,请参阅地理位置和区域