本页介绍如何列出、创建、更新、删除和显示 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”和“--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
- 证券
- 列表中的项用“:”分隔。
- 除非使用
--[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
更新自定义实例配置
您可以更改自定义实例配置的显示名称和标签。
您无法更改或更新自定义实例配置的副本。不过,您可以使用其他副本创建新的自定义实例配置,然后将实例迁移到具有所选额外副本的新自定义实例配置。例如,如果您的实例位于 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 配额和限制。