本页介绍了如何列出、创建、更新、删除 Spanner 实例配置以及显示其详细信息。Google Cloud 控制台界面中不提供某些自定义实例配置功能。在这些情况下,请使用提供的 Google Cloud CLI (gcloud) 命令。
列出实例配置
您可以使用 Google Cloud CLI 和客户端库列出所有可用的 Spanner 实例配置。如需查找所有 Spanner 实例配置的列表,请参阅区域和多区域配置。
gcloud
运行 gcloud spanner instance-configs list
命令:
gcloud spanner instance-configs list
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Ruby
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
显示实例配置详情
您可以使用 Google Cloud CLI 和客户端库显示任何实例配置的详细信息。创建新的自定义实例配置时,您可以将 optionalReplicas
下列出的任何位置添加为可选副本。如果您没有看到所需的只读副本位置,可以申请新的可选只读副本区域。
如需了解详情,请参阅创建自定义实例配置。
gcloud
运行 gcloud spanner instance-configs describe
命令:
gcloud spanner instance-configs describe INSTANCE-CONFIG
请提供以下值:
INSTANCE-CONFIG
- 实例配置,该配置定义了实例的地理位置,并且会影响数据的复制方式。例如
eur6
或us-central1
。
如需显示 eur6
基本配置的详细信息,请运行以下命令:
gcloud spanner instance-configs describe eur6
以下是 eur6
基本配置的示例输出:
configType: GOOGLE_MANAGED
displayName: Europe (Netherlands, Frankfurt)
freeInstanceAvailability: UNSUPPORTED
leaderOptions:
- europe-west3
- europe-west4
name: projects/cloud-spanner-demo/instanceConfigs/eur6
optionalReplicas:
- displayName: South Carolina
labels:
cloud.googleapis.com/country: US
cloud.googleapis.com/location: us-east1
cloud.googleapis.com/region: us-east1
location: us-east1
type: READ_ONLY
- displayName: South Carolina
labels:
cloud.googleapis.com/country: US
cloud.googleapis.com/location: us-east1
cloud.googleapis.com/region: us-east1
location: us-east1
type: READ_ONLY
replicas:
- defaultLeaderLocation: true
location: europe-west4
type: READ_WRITE
- location: europe-west4
type: READ_WRITE
- location: europe-west3
type: READ_WRITE
- location: europe-west3
type: READ_WRITE
- location: europe-west6
type: WITNESS
其他使用说明:
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Ruby
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
创建自定义实例配置
您可以创建自定义区域级或多区域实例配置,并添加可选的只读副本来扩展读取并支持低延迟过时读取。如需查看可用于创建自定义实例配置的基础实例配置列表,请参阅可用单区域配置和可用多区域配置。您无法创建自定义双区域实例配置。如需详细了解 Spanner 复制和副本类型,请参阅复制。
如需创建自定义实例配置,您必须拥有 spanner.instanceConfigs.create
权限。默认情况下,具有 spanner.instances.create
权限的角色也具有 spanner.instanceConfigs.create
权限。
控制台
您无法使用 Google Cloud 控制台创建自定义实例配置。如需创建具有只读副本的实例,请使用 gcloud CLI 或客户端库。
gcloud
使用 gcloud spanner instance-configs create
命令:
gcloud spanner instance-configs create CUSTOM-INSTANCE-CONFIG-ID \
--display-name=DISPLAY-NAME \
--base-config=BASE-CONFIG \
--labels=KEY=VALUE,[...] \
--replicas=location=LOCATION,type=TYPE[:...]
您可以使用 --clone-config
标志轻松克隆其他基础或自定义实例配置,同时声明特定自定义副本的位置和类型。
gcloud spanner instance-configs create CUSTOM-INSTANCE-CONFIG-ID \
--display-name=DISPLAY-NAME \
--clone-config=INSTANCE-CONFIG \
--labels=KEY=VALUE,[...] \
--add-replicas=location=LOCATION,type=TYPE[:...] \
--skip-replicas=location=LOCATION,type=TYPE[:...]
请提供以下值:
CUSTOM-INSTANCE-CONFIG-ID
- 您的 Google Cloud 项目中唯一的永久标识符。实例配置 ID 创建后便无法更改。必须使用
custom-
前缀,以避免与基本实例配置发生名称冲突。 DISPLAY-NAME
- Google Cloud 控制台中要为自定义实例配置显示的名称。 如果您选择使用 `--base-config` 和 `--replicas` 标志,请提供以下值:
BASE-CONFIG
- 自定义实例配置所依据的基础实例配置的区域名称。例如
eur6
或regional-us-central1
。 LOCATION
- 提供资源(副本)的区域名称,例如
us-east1
。如需了解系统接受哪些营业地点名称,请运行gcloud spanner instance-configs describe INSTANCE-CONFIG
并参阅replicas
和optionalReplicas
列表。 TYPE
- 副本的类型。如需了解接受哪些对应的位置和副本类型,请运行
gcloud spanner instance-configs describe INSTANCE-CONFIG
并参阅replicas
和optionalReplicas
列表。类型为以下各项之一:- READ_ONLY
- READ_WRITE
- WITNESS
- 列表中的项以“:”分隔。
- 除非使用
--[clone-config]
标志,否则在创建自定义实例配置时必须指定所有副本LOCATION
和TYPE
,包括在基本配置中预定义的副本。如需了解详情,请参阅 gcloud instance-configs describe 帮助文本。
如果您选择使用 --clone-config
和 --add-replicas
标志(仅当您想跳过克隆某些副本时才使用 --skip-replicas
),请提供以下值:
--clone-config=INSTANCE-CONFIG
您可以使用此标志轻松克隆其他基础实例或自定义实例配置,同时声明特定自定义副本的位置和类型。然后,使用
--add-replicas=location=LOCATION,type=TYPE
指定要添加可选副本的位置。例如,如需在
us-east1
中创建包含两个只读副本的自定义实例配置,同时从eur6
基本实例配置中复制所有其他副本位置,请运行以下命令:gcloud spanner instance-configs create custom-eur6 --clone-config=eur6 \ --add-replicas=location=us-east1,type=READ_ONLY:location=us-east1,type=READ_ONLY
--skip-replicas=location=LOCATION,type=TYPE
使用此标志可跳过克隆任何副本。
例如,如需创建一个自定义实例配置,其中
us-east4
中有一个只读副本,同时从nam3
基本实例配置中复制除us-central1
中的只读副本之外的所有其他副本位置,请运行以下命令:gcloud spanner instance-configs create custom-nam3 --clone-config=nam3 \ --add-replicas=location=us-east4,type=READ_ONLY \ --skip-replicas=location=us-central1,type=READ_ONLY
以下标志和值是可选的:
--labels=KEY=VALUE,[...]
KEY
和VALUE
:要添加到自定义实例配置中的键值对列表。键必须以小写字符开头,并且只能包含连字符 (-)、下划线 (_)、小写字符和数字。值只能包含连字符 (-)、下划线 (_)、小写字符和数字。
--validate-only
您可以使用此标志在执行请求之前验证请求是否会成功。
例如,如需使用 eur6
基本配置创建自定义实例配置,并在 us-east1
中添加一个额外的只读副本,请运行以下命令:
gcloud spanner instance-configs create custom-eur6 \
--display-name="Custom eur6" --clone-config=eur6 \
--add-replicas=location=us-east1,type=READ_ONLY \
您还可以在不使用 --clone-config
标志的情况下创建自定义实例配置:
gcloud spanner instance-configs create custom-eur6 \
--display-name="Custom eur6" --base-config=eur6 \
--replicas=location=europe-west4,type=READ_WRITE:location=europe-west3,type=READ_WRITE:location=europe-west4,type=READ_WRITE:location=europe-west3,type=READ_WRITE:location=europe-west6,type=WITNESS:location=us-east1,type=READ_ONLY
您应该会看到以下输出内容:
Creating instance-config...done.
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Ruby
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
在自定义实例配置中创建实例
您可以在自定义实例配置中创建实例。
更新自定义实例配置
您可以更改自定义实例配置的显示名称和标签。
您无法更改或更新自定义实例配置的副本。不过,您可以创建包含额外副本的新自定义实例配置,然后将实例移至包含您选择的额外副本的新自定义实例配置。例如,如果您的实例位于 us-central1
中,并且您想添加只读副本 us-west1
,则需要创建一个新的自定义实例配置,并将 us-central1
作为基本配置,然后将 us-west1
添加为只读副本。然后,将您的实例迁移到此新的自定义实例配置。
gcloud
使用 gcloud spanner instance-configs update
命令:
gcloud spanner instance-configs update CUSTOM-INSTANCE-CONFIG-ID \
--display-name=NEW-DISPLAY-NAME \
--update-labels=KEY=VALUE,[...], \
--etag=ETAG
请提供以下值:
CUSTOM-INSTANCE-CONFIG-ID
- 自定义实例配置的永久性标识符。
它将以
custom-
开头。 NEW-DISPLAY-NAME
- 要在 Google Cloud 控制台中显示的实例配置的新名称。
KEY
和VALUE
- 要更新的键值对列表。
- 键必须以小写字符开头,并且只能包含连字符 (-)、下划线 (_)、小写字符和数字。值只能包含连字符 (-)、下划线 (_)、小写字符和数字。
以下标志和值是可选的:
--etag=ETAG
:ETAG
参数可用于在读取-修改-写入场景中选择和跳过同时更新。--validate-only
:在执行请求之前,使用此标志验证请求是否会成功。
例如:
gcloud spanner instance-configs update custom-eur6 \
--display-name="Customer managed europe replicas"
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Ruby
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
删除自定义实例配置
如需删除自定义实例配置,请先删除实例配置中的所有实例。
gcloud
使用 gcloud spanner instance-configs delete
命令,并将 CUSTOM-INSTANCE-CONFIG-ID
替换为自定义实例配置 ID:
gcloud spanner instance-configs delete CUSTOM-INSTANCE-CONFIG-ID
C++
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
C#
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Go
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Java
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Node.js
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
PHP
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Python
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
Ruby
如需了解如何安装和使用 Spanner 客户端库,请参阅 Spanner 客户端库。
后续步骤
- 了解如何使用数据操纵语言 (DML) 或 gcloud CLI 插入、更新和删除数据。
- 为实例及其数据库授予 IAM 角色。
- 了解如何设计 Spanner 架构。
- Spanner 配额和限制。