kisenon

区域

您项目的存储和计算所在的位置。

一个区域是您项目的存储和计算运行所在的物理位置。您在创建 项目时选择一次;该项目之下的每个分支和端点都继承 它。区域是项目的一个属性,而不是您之后会更改的东西。

区域目录

以下是您可以在其中创建项目的区域:

region_idnamedefaultgeo
gcp-usc1-devdefault

破折号表示目录尚未携带该字段。

GET /v1/regions 返回同一份列表。它是经过身份验证的 —— 列出您项目的同一个 bearer 也列出该目录。响应是一个单一对象:

{
  "regions": [
    {
      "region_id": "gcp-usc1-dev",
      "name": "gcp-usc1-dev",
      "default": true,
      "geo_lat": 0,
      "geo_long": 0
    }
  ]
}

每个区域携带:

  • region_id —— 您在创建项目时传入的稳定标识符。
  • name —— 显示标签。目前还没有显示名列,所以它重复 region_id
  • default —— 控制台是否会预选这个区域。
  • geo_lat / geo_long —— 用于基于距离选择的坐标;在目录携带真实坐标之前 都是 0

在创建时选择一个区域

在 web 控制台中,New project 有一个 Region 下拉菜单。 它默认为 Auto (nearest),这会把选择权留给控制平面。要固定一个特定区域, 从列表中选择它。

通过 API,在 POST /v1/projects 上传入可选的 region 字段:

{ "name": "my-app", "region": "gcp-usc1-dev" }

省略 region(或发送 null)以获得与控制台默认相同的"auto"行为。只有在恰好 有一个活跃区域时,auto 才是无歧义的:多于一个时,未指名区域的创建会以 region_required(422)被拒绝,而不是由控制平面去猜。

区域可用性

上面的表格由目录生成,不是手工维护的,因此它就是您此刻能够在其中创建的 范围。区域会随着需求增长而增加。当有新区域上线时,客户端上不会有任何变化 —— 目录和 region 字段都已经就位。

相关

  • 项目 —— 为之选择一个区域的容器。
  • 分支 —— 继承它们项目的区域。