本页介绍了如何列出、创建、更新、删除 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 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 客户端库。
在自定义实例配置中创建实例
您可以在自定义实例配置中创建实例。
更新自定义实例配置
您可以更改自定义实例配置的显示名称和标签。
您无法更改或更新自定义实例配置的副本。不过,您可以创建包含额外副本的新自定义实例配置,然后将实例移至包含您选择的额外副本的新自定义实例配置。例如,如果您的实例位于 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 配额和限制。