多个 Firebase 产品需要位置设置:
Google Analytics — 如果您在 Firebase 项目中启用 Google Analytics,系统会提示您选择一个 Analytics 报告位置。此位置代表您所在组织所在的国家或地区。反过来,您的 Analytics 位置设置了收入报告的货币。
Cloud Firestore和Cloud Storage — 如果您开始使用这些产品中的任何一个,系统会提示您选择项目的默认 Google Cloud Platform (GCP) 资源位置(如果在设置其他服务时尚未选择)。
Cloud Functions for Firebase (仅限计划函数) ——如果您运行计划函数,Cloud Scheduler 需要一个 App Engine 应用程序;在其设置过程中,系统会提示您选择项目的默认 Google Cloud Platform (GCP) 资源位置(如果在设置其他服务时尚未选择)。
要了解有关非预定功能的位置设置的更多信息,请访问Cloud Functions Locations 。
实时数据库- 如果您创建实时数据库实例,系统会提示您选择实例的位置,并且每个实例都可以位于不同的位置。请注意,实时数据库实例的位置不会影响默认 GCP 资源位置的选项。
为一个产品或一组产品选择位置设置
对于大多数用例,您可以在项目创建期间或在特定产品的控制台页面中选择Firebase 控制台中的位置设置。
分析
如果您在Firebase 控制台的 Firebase 项目中启用 Google Analytics,系统会提示您选择一个 Analytics 报告位置。选择代表您组织所在位置的国家或地区。
如果您是项目所有者或编辑者,您可以编辑您的 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 资源位置。
实时数据库位置
如果您创建新的实时数据库实例,则需要指定该实例的位置。您项目中的每个实时数据库实例都可以位于不同的位置。下面列出了实时数据库实例当前支持的位置及其关联的数据库 URL 方案。
请注意,实时数据库实例的位置不会影响默认 GCP 资源位置的选项。
区域名称 | 地区说明 | 数据库 URL 方案 |
---|---|---|
us-central1 | 爱荷华州 | DATABASE_NAME .firebaseio.com |
europe-west1 | 比利时 | DATABASE_NAME .europe-west1.firebasedatabase.app |
asia-southeast1 | 新加坡 | DATABASE_NAME .asia-southeast1.firebasedatabase.app |
查看位置设置
对于 Analytics — 在 Firebase 控制台中,转到您的Google Analytics settings ,然后滚动到Reporting窗格。
对于 Cloud Firestore、Cloud Storage 和预定函数 - 在 Firebase 控制台中,转到您的项目设置。
对于实时数据库 - 在 Firebase 控制台中,在实时数据库数据查看器中查看您的数据库实例列表。
了解默认的 GCP 资源位置
您的应用程序可用的多项服务需要一个位置设置,称为项目的默认 Google Cloud Platform (GCP) 资源位置。此位置是为需要位置设置的 GCP 服务存储数据的位置。
以下产品共享相同的默认 GCP 资源位置:
云端 Firestore
请注意,您的默认 GCP 资源位置不适用于Firebase 实时数据库。云储存
请注意,您的默认 GCP 资源位置仅适用于您的默认Cloud Storage 存储桶。如果您使用的是 Blaze 计划,则可以创建多个存储桶,每个存储桶都有自己的位置。App Engine 应用程序(例如,用于预定功能)
如果您设置 App Engine 应用程序,它的位置会共享您的默认 GCP 资源位置。请注意,如果您使用 Cloud Scheduler(例如,运行计划函数),则您的项目中需要有一个 App Engine 应用程序。
您可以选择多区域位置或区域位置作为默认 GCP 资源位置。请注意,如果您已经拥有位置为us-central
或europe-west
的 App Engine 应用程序,则使用此位置设置的任何 GCP 服务都将被视为multi-regional 。
多区域位置
选择多区域位置以最大限度地提高数据库的可用性和持久性。
多区域位置由一组定义的区域组成,其中存储了数据库的多个副本。每个副本要么是包含数据库中所有数据的读写副本,要么是不维护完整数据集但参与复制的见证副本。
通过在多个区域之间复制数据,即使整个区域丢失也可以继续提供数据。在一个区域内,数据会跨区域复制,这样即使区域丢失,数据也可以继续在该区域内提供服务。
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 | 蒙特利尔 | |
us-east1 | 南卡罗来纳 | |
us-east4 | 弗吉尼亚北部 | |
南美洲 | ||
southamerica-east1 | 圣保罗 | |
欧洲 | ||
europe-west2 | 伦敦 | |
europe-west3 | 法兰克福 | |
europe-central2 | 华沙 | |
europe-west6 | 苏黎世 | |
亚洲 | ||
asia-south1 | 孟买 | |
asia-southeast1 | 新加坡 | |
asia-southeast2 | 雅加达 | |
asia-east2 | 香港 | |
asia-east1 | 台湾 | |
asia-northeast1 | 东京 | |
asia-northeast2 | 大阪 | |
asia-northeast3 | 汉城 | |
澳大利亚 | ||
australia-southeast1 | 悉尼 | |
此位置不支持 Cloud Storage for Firebase。如果您计划使用 Cloud Storage for Firebase,则应选择其他位置。 | 墨尔本 |
下一步
要在特定位置创建 Cloud Firestore 数据库,请访问Cloud Firestore 入门。
要创建Cloud Storage 存储桶,请访问适用于您的平台的入门页面。
要使用 Cloud Functions for Firebase 运行预定函数,请访问设置指南。
有关构建应用程序以满足您的延迟、可用性和持久性要求的更多信息,请参阅地理和区域。