Visão geral
O Database Migration Service oferece uma API REST para administrar os perfis de conexão e os jobs de migração de maneira programática. A API REST é definida por recursos associados à criação e ao gerenciamento de perfis de conexão e jobs de migração. Para detalhes sobre todos os recursos e os respectivos métodos, consulte a Referência da API do Database Migration Service.
Ao enviar solicitações diretamente para a API REST do serviço de migração de banco de dados, você precisa criar a forma correta da solicitação, autorizá-la como um usuário autenticado e processar as respostas retornadas. Muitas das tarefas nesta documentação fornecem exemplos de API usando cURL.
Para mais exemplos de como usar as APIs, consulte a página da solicitação na Referência da API Database Migration Service. Cada página tem exemplos de chamada da API em várias linguagens de programação, bem como um explorador específico da solicitação para ajudar você a ver o que entra em uma solicitação bem formada e o que esperar na resposta.
Você também está usando a API Database Migration Service indiretamente quando usa uma das seguintes maneiras de administrar instâncias:
Google Cloud CLI: uma interface de linha de comando (CLI) que pode ser usada para trabalhar com suas instâncias.
Google Cloud console: uma interface gráfica da Web.
A vantagem de usar esses métodos, especialmente o console do Google Cloud , é que eles podem simplificar muito a administração dos perfis de conexão e dos jobs de migração (dependendo do caso de uso). Se você está apenas começando a usar o Database Migration Service, recomendamos que comece com uma dessas ferramentas antes de trabalhar diretamente com a API REST.
Ativar a API
Para usar a API Database Migration Service, é necessário ativá-la:
Console
- Ative a API Database Migration Service.
- Selecione o projeto.
- Selecione Continuar.
gcloud
- Insira o comando abaixo para exibir os IDs dos seus projetos do Google Cloud:
gcloud projects list
- Defina seu projeto padrão:
gcloud config set project YOUR_PROJECT_ID
- Ative a API Cloud SQL Admin:
gcloud services enable datamigration.googleapis.com
Permissões
Você precisa ter as permissões necessárias para usar a API Database Migration Service. Essas permissões incluem:
- Administrador de migração de banco de dados: com essa permissão, um usuário tem acesso a todos os recursos do Database Migration Service usados para gerenciar perfis de conexão e jobs de migração.
- Visualizador de migração de banco de dados: com essa permissão, um usuário tem acesso somente leitura a perfis de conexão e jobs de migração no Database Migration Service.
- Administrador do Cloud SQL: com essa permissão, um usuário pode criar e gerenciar perfis de conexão e jobs de migração para o Cloud SQL no Database Migration Service.
O Google Cloud oferece o gerenciamento de identidade e acesso (IAM), que permite a concessão de acesso mais granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. É possível receber e definir permissões para o Database Migration Service usando o console do Google Cloud, os métodos do IAM da API ou a Google Cloud CLI. Saiba mais em Como conceder, alterar e revogar acesso a recursos.
Fornecer dados JSON de um arquivo
Ao usar a API com cURL, você fornece valores de propriedade usando a linha de comando. Se você estiver trabalhando com valores confidenciais, como senhas ou chaves de segurança, fornecê-los na linha de comando representa um risco à segurança. Para aumentar a segurança, você pode criar um arquivo contendo os dados JSON para a chamada de API e fornecer o caminho para o arquivo na linha de comando.
Para fornecer dados JSON à chamada de API cURL a partir de um arquivo:
Crie um arquivo contendo tudo entre aspas simples para o campo
--data
.Coloque as chaves, mas não use aspas simples.
Na linha de comando, forneça o caminho para o arquivo, precedido pelo caractere
@
, como o parâmetro--data
:--data @<path-to-file>/<filename>
Por exemplo, para criar um perfil de conexão para um banco de dados de destino do Cloud SQL, crie um arquivo chamado
request.json
com o seguinte conteúdo:{ "displayName": "my Cloud SQL connection profile", "mysql": { "host": "10.11.12.13", "port": 5432, "username": "myusername", "password": "mypassword" } }
Em seguida, você usaria o seguinte comando cURL na linha de comando:
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data @./request.json \ -X POST \ https://datamigration.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myCloudSQLconnectionprofile
Trabalhar com chamadas de API de longa duração
Algumas chamadas de API, como a criação de objetos, podem levar algum tempo para serem concluídas. Como a API é assíncrona, a chamada é retornada imediatamente, mesmo que a operação ainda esteja em andamento. Se uma chamada de API subsequente usar o objeto recém-criado, aguarde a conclusão da primeira operação antes de continuar.
É possível usar a API Database Migration Service para gerenciar operações. Isso inclui:
- Como exibir detalhes sobre uma operação
- Como listar operações para uma região
- Como excluir uma operação
Database Migration Service e serviço de descoberta de APIs do Google
O Serviço de descoberta de APIs do Google é um serviço que você pode usar para descobrir APIs do Google. Por exemplo, quando usar a ferramenta APIs Explorer do Google , você estará usando o serviço de descoberta.
No Discovery Service, o Database Migration Service é representado como "datamigration" (por exemplo: https://datamigration.googleapis.com/$discovery/rest?version=v1).