Nesta página, descrevemos como listar, criar, atualizar, excluir e mostrar os detalhes de uma configuração de instância do Spanner. Algumas funcionalidades de configuração de instâncias personalizadas não estão disponíveis na UI do console do Google Cloud. Nesses casos, use os comandos da Google Cloud CLI (gcloud) fornecidos.
Listar configurações de instância
É possível listar todas as configurações de instâncias disponíveis do Spanner com a Google Cloud CLI e as bibliotecas de cliente. Para encontrar uma lista de todas as configurações de instâncias do Spanner, consulte Configurações regionais e multirregionais.
gcloud
Execute o comando gcloud spanner instance-configs list
:
gcloud spanner instance-configs list
C++
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
C#
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Go
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Java
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Node.js
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
PHP
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Python
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Ruby
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Mostrar detalhes de configuração da instância
É possível mostrar os detalhes de qualquer configuração de instância com a
Google Cloud CLI e as bibliotecas de cliente. Ao criar uma nova configuração de instância personalizada, é possível adicionar qualquer local listado em optionalReplicas
como uma réplica opcional.
Se você não encontrar o local desejado da réplica somente leitura, solicite uma nova região de réplica somente leitura.
Para mais informações, consulte Criar uma configuração de instância personalizada.
gcloud
Execute o comando gcloud spanner instance-configs describe
:
gcloud spanner instance-configs describe INSTANCE-CONFIG
Forneça o seguinte valor:
INSTANCE-CONFIG
- A configuração da instância, que define a localização geográfica dela
e afeta como os dados são replicados. Por exemplo,
eur6
ouus-central1
.
Para mostrar os detalhes da configuração base eur6
, execute:
gcloud spanner instance-configs describe eur6
Veja um exemplo de saída para a configuração básica 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
Outras notas de uso:
baseConfig
(somente para configurações personalizadas) aponta para a configuração da instância base. Consulte as configurações regionais disponíveis e as configurações multirregionais disponíveis para ver listas de configurações de instância base que podem ser usadas para criar uma configuração de instância personalizada.configType
indica se essa configuração de instância é uma configuração de instância base ou uma configuração de instância personalizada.etag
(somente para configurações personalizadas) é uma representação da configuração em string codificada em base64. Ela é usada para controle de simultaneidade otimista.
C++
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
C#
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Go
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Java
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Node.js
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
PHP
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Python
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Ruby
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Criar uma configuração de instância personalizada
É possível criar uma configuração de instância personalizada e adicionar réplicas somente leitura opcionais para escalonar leituras e oferecer suporte a leituras desatualizadas de baixa latência. Consulte as configurações regionais disponíveis e as configurações multirregionais disponíveis para ver listas de configurações de instância base que podem ser usadas para criar uma configuração de instância personalizada. Para mais informações sobre a replicação do Spanner e os tipos de réplica, consulte Replicação.
Para criar uma configuração de instância personalizada, é necessário ter a
permissão spanner.instanceConfigs.create
. Por padrão, os papéis com a
permissão spanner.instances.create
também terão a
permissão spanner.instanceConfigs.create
.
Console
Não é possível criar uma configuração de instância personalizada autônoma usando o console do Google Cloud. Para criar uma instância com réplicas somente leitura, consulte as instruções fornecidas em Criar uma instância com a configuração da instância personalizada.
Use a Google Cloud CLI e as bibliotecas de cliente para criar uma configuração de instância personalizada autônoma.
gcloud
Use o comando 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[:...]
Use a sinalização --clone-config
como uma maneira conveniente de clonar outra configuração básica ou personalizada de instância, além de declarar o local e o tipo de uma réplica personalizada específica.
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[:...]
Forneça os valores a seguir:
CUSTOM-INSTANCE-CONFIG-ID
- Um identificador permanente exclusivo no projeto do Google Cloud. Não
será possível alterar o ID de configuração da instância posteriormente. O prefixo
custom-
é necessário para evitar conflitos de nome com as configurações de instância base. DISPLAY-NAME
- O nome a ser exibido para a configuração da instância personalizada no console do Google Cloud. Se você usar as sinalizações "--base-config" e "--replicas", forneça os seguintes valores:
BASE-CONFIG
- O nome da região da configuração da instância base em que a configuração da instância personalizada se baseia. Por exemplo,
eur6
ouregional-us-central1
. LOCATION
- O nome da região dos recursos de exibição (réplicas), por exemplo,
us-east1
. Para saber quais nomes de locais são aceitos, executegcloud spanner instance-configs describe INSTANCE-CONFIG
e consulte as listasreplicas
eoptionalReplicas
. TYPE
- O tipo de réplica. Para descobrir quais locais e tipos de réplica correspondentes são aceitos, execute
gcloud spanner instance-configs describe INSTANCE-CONFIG
e consulte as listasreplicas
eoptionalReplicas
. Os tipos são:- READ_ONLY
- READ_WRITE
- TESTEMUNHO
- Os itens da lista são separados por ":".
- A menos que a sinalização
--[clone-config]
seja usada, todas as réplicasLOCATION
eTYPE
precisam ser especificadas ao criar uma configuração de instância personalizada, incluindo aquelas predefinidas na configuração básica. Para mais informações, consulte gcloud instance-configs describe help-text.
Se você optar por usar as sinalizações --clone-config
e --add-replicas
(use apenas --skip-replicas
se houver réplicas que você quer pular da clonagem), forneça os seguintes valores:
--clone-config=INSTANCE-CONFIG
Use essa sinalização como uma maneira conveniente de clonar outra configuração de base ou instância personalizada, além de declarar o local e o tipo de uma réplica personalizada específica. Em seguida, use
--add-replicas=location=LOCATION,type=TYPE
para especificar onde você quer adicionar sua réplica opcional.Por exemplo, para criar uma configuração de instância personalizada com duas réplicas somente leitura em
us-east1
e copiar todos os outros locais de réplica da configuração da instância baseeur6
, execute: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
Use essa sinalização para pular a clonagem de uma réplica.
Por exemplo, para criar uma configuração de instância personalizada com uma réplica somente leitura em
us-east4
e copiar todos os outros locais de réplica da configuração da instância basenam3
, exceto a réplica somente leitura emus-central1
, execute: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
As flags e os valores abaixo são opcionais:
--labels=KEY=VALUE,[...]
KEY
eVALUE
: uma lista de pares de chave e valor para adicionar à configuração da instância personalizada.As chaves precisam começar com um caractere minúsculo e conter apenas hifens (-), sublinhados (_), letras minúsculas e números. Os valores precisam conter apenas hifens (-), sublinhados (_), letras minúsculas e números.
--validate-only
Use essa sinalização para validar se a solicitação será bem-sucedida antes de executá-la.
Por exemplo, para criar uma configuração de instância personalizada com a configuração base eur6
com uma réplica somente leitura extra em us-east1
, execute:
gcloud spanner instance-configs create custom-eur6 \
--display-name="Custom eur6" --clone-config=eur6 \
--add-replicas=location=us-east1,type=READ_ONLY \
Também é possível criar uma configuração de instância personalizada sem a
flag --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
Você verá esta resposta:
Creating instance-config...done.
C++
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
C#
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Go
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Java
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Node.js
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
PHP
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Python
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Ruby
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Criar uma instância com uma configuração de instância personalizada
É possível criar uma instância com uma configuração personalizada.
Console
Para criar uma instância com uma configuração personalizada, siga as instruções fornecidas em Criar uma instância.
Não é necessário criar uma configuração de instância personalizada independente no console do Google Cloud. A configuração da instância é criada automaticamente quando você a cria.
gcloud
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
C++
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
C#
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Go
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Java
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Node.js
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
PHP
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Python
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Ruby
Depois de criar a configuração da instância personalizada, siga as instruções fornecidas em Criar uma instância.
Atualizar uma configuração de instância personalizada
É possível alterar o nome de exibição e os rótulos de uma configuração de instância personalizada. Não é possível alterar ou atualizar as réplicas da configuração da sua instância personalizada.
gcloud
Use o comando 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
Forneça os valores a seguir:
CUSTOM-INSTANCE-CONFIG-ID
- Um identificador permanente da configuração da sua instância personalizada.
Ele vai começar com
custom-
. NEW-DISPLAY-NAME
- O novo nome a ser exibido para a configuração da instância no console do Google Cloud.
KEY
eVALUE
- Uma lista de pares de chave-valor a serem atualizados.
- As chaves precisam começar com uma letra minúscula e conter apenas hifens (-), sublinhados (_), letras minúsculas e números. Os valores precisam conter apenas hifens (-), sublinhados (_), caracteres minúsculos e números.
As flags e os valores abaixo são opcionais:
--etag=ETAG
: o argumentoETAG
pode ser usado para selecionar e pular atualizações simultâneas em um cenário de leitura-modificação-gravação.--validate-only
: use essa sinalização para validar se a solicitação será bem-sucedida antes de executá-la.
Exemplo:
gcloud spanner instance-configs update custom-eur6 \
--display-name="Customer managed europe replicas"
C++
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
C#
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Go
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Java
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Node.js
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
PHP
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Python
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Ruby
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Excluir uma configuração de instância personalizada
Para excluir uma configuração de instância personalizada, primeiro exclua qualquer instância na configuração.
gcloud
Use o comando gcloud spanner instance-configs delete
, substituindo CUSTOM-INSTANCE-CONFIG-ID
pelo ID de configuração da instância personalizada:
gcloud spanner instance-configs delete CUSTOM-INSTANCE-CONFIG-ID
C++
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
C#
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Go
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Java
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Node.js
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
PHP
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Python
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
Ruby
Para saber como instalar e usar a biblioteca de cliente para o Spanner, consulte Bibliotecas de cliente do Spanner.
A seguir
- Saiba como inserir, atualizar e excluir dados com a linguagem de manipulação de dados (DML) ou a CLI gcloud.
- Conceda papéis do IAM para a instância e os bancos de dados dela.
- Entenda como projetar um esquema do Spanner.
- Cotas e limites do Spanner.