本页面介绍如何列出、创建、更新、删除和显示 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 控制台创建独立的自定义实例配置。如需创建具有只读副本的实例,请参阅使用自定义实例配置创建实例中提供的说明。
您可以使用 Google Cloud 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”和“--copys”,请提供以下值:
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
- 见证
- 列表中的项之间用“:”分隔。
- 除非使用
--[clone-config]
标志,否则在创建自定义实例配置时,必须指定所有副本LOCATION
和TYPE
,包括在基本配置中预定义的副本。如需了解详情,请参阅 gcloud instance-configs describe help-text。
如果您选择使用 --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 客户端库。
使用自定义实例配置创建实例
您可以使用自定义实例配置创建实例。
控制台
如需创建使用自定义实例配置的实例,请按照创建实例中提供的说明操作。
请注意,您无需在 Google Cloud 控制台中创建独立的自定义实例配置。创建实例时,系统会自动创建实例配置。
gcloud
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
更新自定义实例配置
您可以更改自定义实例配置的显示名称和标签。您无法更改或更新自定义实例配置的副本。
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 配额和限制。