Nesta página, você aprenderá a gerenciar o ciclo de vida de uma operação de longa duração do Cloud Spanner usando APIs de operações.
Operações de longa duração são chamadas de método que podem demorar para serem concluídas. O Spanner cria operações de longa duração para várias ações de instância, banco de dados e backup. Um exemplo é o método para restaurar um banco de dados,
projects.instances.databases.restore
.
Quando você restaura um banco de dados, o serviço do Spanner cria uma operação de longa duração para rastrear o progresso da restauração.
O Spanner fornece APIs de operações que permitem verificar o status de operações de longa duração. Você também pode listar e cancelar operações de longa duração, bem como excluir operações de instâncias de longa duração.
Nesta página, você aprende a gerenciar operações de longa duração com a API REST. Também é possível gerenciar operações de longa duração com:
- Bibliotecas de cliente do Spanner
- A ferramenta de linha de comando
gcloud
- A página Spanner no console do Google Cloud
Gerencie as operações de longa duração do Spanner usando estes métodos:
Ação | Operações de banco de dados de longa duração | Operações de backup de longa duração | Operações de instância de longa duração |
---|---|---|---|
Cancelar uma operação de longa duração | cancel |
cancel |
cancel |
Excluir uma operação de longa duração | Não compatível | Não compatível | delete |
Ver o status de uma operação de longa duração | get |
get |
get |
Listar operações de longa duração | list |
list |
list |
Operações de banco de dados
Veja abaixo as operações de banco de dados de longa duração.
projects.instances.databases.create
projects.instances.databases.restore
projects.instances.databases.updateDdl
projects.instances.databaseOperations.list
Ver o status de uma operação de banco de dados de longa duração
Use projects.instances.databases.operations.get
para obter o status de uma operação de banco de dados de longa duração.
Como exemplo, esta é uma resposta de projects.instances.databases.create
:
{
"name": "projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.database.v1.CreateDatabaseMetadata",
"database": "projects/[PROJECT_ID]/instances/test-instance/databases/example-db"
}
}
O valor name
na parte superior da resposta mostra que o serviço do Spanner criou uma operação de banco de dados de longa duração chamada projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
.
Para ver o status da operação de banco de dados de longa duração:
- Clique em
projects.instances.databases.operations.get
. Para name, insira o nome da operação de banco de dados de longa duração, conforme mostrado na resposta para
projects.instances.databases.create
ouprojects.instances.databases.updateDdl
. Exemplo:projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação do banco de dados listando as operações de banco de dados de longa execução.
Clique em Executar e veja a resposta. Quando uma operação for concluída, o campo
done
será definido comotrue
.
Para pesquisar uma operação de banco de dados de longa duração, invoque repetidamente projects.instances.databases.operations.get
até que a operação seja concluída. Use um recuo entre cada solicitação de votação. Por exemplo, faça pesquisas a cada 10 segundos.
Listar operações de banco de dados de longa duração
Use projects.instances.databases.operations.list
para listar operações de banco de dados de longa duração.
- Clique em
projects.instances.databases.operations.list
. Para o nome, insira:
projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations
Clique em Executar. A resposta contém as operações de banco de dados de longa duração.
Cancelar uma operação de banco de dados de longa duração
Use projects.instances.databases.operations.cancel
para cancelar uma operação de banco de dados de longa duração.
- Clique em
projects.instances.databases.operations.cancel
. Para name, insira o nome da operação do banco de dados de longa duração, como mostrado na resposta de operação do banco de dados de longa duração. Exemplo:
projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação do banco de dados listando as operações de banco de dados de longa execução.
Clique em Execute.
Operações de backup
Veja a seguir as operações de backup de longa duração.
Veja o status de uma operação de backup de longa duração
Use projects.instances.backups.operations.get
para obter o status de uma operação de backup de longa duração.
Como exemplo, esta é uma resposta de projects.instances.backups.create
:
{
"name": "projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-5/operations/_auto_1492721321097206",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata",
"name": "projects/[PROJECT_ID]/instances/test-instance/backup/example-db-backup-5"
}
}
O valor name
na parte superior da resposta mostra que o serviço do Spanner criou uma operação de backup de longa duração chamada projects/[PROJECT_ID]/instances/test-instance/backups/example-db/operations/_auto_op_0cf69250b487c2f7
.
Para ver o status da operação de backup de longa duração, siga as etapas a seguir:
- Clique em
projects.instances.backups.operations.get
. Para name, insira o nome da operação de backup de longa duração, como mostrado na resposta para
projects.instances.backups.create
. Exemplo:projects/[PROJECT_ID]/instances/test-instance/backups/example-db/operations/_auto_1492721321097206
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação de backup. Para isso, liste operações de backup de longa duração.
Clique em Executar e veja a resposta. Quando uma operação for concluída, o campo
done
será definido comotrue
.
Para pesquisar uma operação de backup de longa duração, invoque o
método repetidamente projects.instances.backups.operations.get
até que a operação seja
concluída. Use um recuo entre cada solicitação de votação. Por exemplo, faça pesquisas a cada 10 segundos.
Listar operações de backup de longa duração
Use projects.instances.backups.operations.list
para listar as operações em um único backup ou projects.instances.backupOperations.list
para listar todas as operações de backup na instância.
- Clique em
projects.instances.backups.operations.list
. Para o nome, insira:
projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations
Clique em Execute. A resposta contém as operações de longa duração.
Cancelar uma operação de backup de longa duração
Use projects.instances.backups.operations.cancel
para cancelar uma operação de backup de longa duração.
- Clique em
projects.instances.backups.operations.cancel
. Em name, insira o nome da operação de backup de longa duração, conforme mostrado na resposta dessa operação. Exemplo:
projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations/_auto_1492721321097206
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação de backup. Para isso, liste operações de backup de longa duração.
Clique em Execute.
Operações de instância
Veja a seguir as operações de instâncias de longa duração.
Ver o status de uma operação de instância de longa duração
Use projects.instances.operations.get
para ver o status de uma operação de instância de longa duração.
Como exemplo, esta é uma resposta de projects.instances.create
:
{
"name": "projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceMetadata",
"instance": {
"name": "projects/[PROJECT_ID]/instances/test-instance",
"config": "projects/[PROJECT_ID]/instanceConfigs/regional-us-central1",
"displayName": "Test Instance",
"nodeCount": 1,
"state": "READY"
},
"startTime": "2017-04-24T22:45:41.130854Z"
}
}
O valor name
na parte superior da resposta mostra que o serviço do Spanner criou uma operação de instância de longa duração chamada projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
.
Para ver o status da operação de instância de longa duração:
- Clique em
projects.instances.operations.get
. Para name, insira o nome da operação de instância de longa duração, conforme mostrado na resposta para
projects.instances.create
ouprojects.instances.patch
. Exemplo:projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação de instância listando as operações de instância de longa execução.
Clique em Executar e veja a resposta. Quando uma operação for concluída, o campo
done
será definido comotrue
.
Para pesquisar uma operação de instância de longa duração, invoque repetidamente projects.instances.operations.get
até que a operação seja concluída. Use um recuo entre cada solicitação de votação. Por exemplo, faça pesquisas a cada 10 segundos.
Listar operações de instância de longa duração
Use projects.instances.operations.list
para listar operações de instância de longa duração.
- Clique em
projects.instances.operations.list
. Para o nome, insira:
projects/[PROJECT_ID]/instances/test-instance/operations
Clique em Executar. A resposta contém as operações de instância de longa duração.
Cancelar uma operação de instância de longa duração
Use projects.instances.operations.cancel
para cancelar uma operação de instância de longa duração.
- Clique em
projects.instances.operations.cancel
. Para name, insira o nome da operação de instância de longa duração, como mostrado na resposta da operação de instância de longa duração. Exemplo:
projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação de instância listando as operações de instância de longa execução.
Clique em Executar.
Excluir uma operação de instância de longa duração
Use projects.instances.operations.delete
para excluir uma operação de instância de longa duração.
- Clique em
projects.instances.operations.delete
. Para name, insira o nome da operação de instância de longa duração, como mostrado na resposta da operação de instância de longa duração. Exemplo:
projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
Use o nome da operação que você recebeu em vez desse valor. Também é possível recuperar o nome da operação de instância listando as operações de instância de longa execução.
Clique em Executar.