Visão geral
Nesta página, você aprende como usar a API do Database Migration Service para gerenciar perfis de conexão para um banco de dados de origem PostgreSQL e um destino PostgreSQL.
Há duas maneiras de usar a API do Database Migration Service. Você pode fazer chamadas à API REST ou usar a Google Cloud CLI (CLI).
Para ver informações de alto nível sobre como usar gcloud
para gerenciar perfis de conexão do Database Migration Service, clique aqui .
Crie um perfil de conexão para um banco de dados de origem PostgreSQL
Veja a seguir uma solicitação para criar um perfil de conexão para um banco de dados de origem PostgreSQL.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
- connection-profile-display-name : O nome de exibição do perfil de conexão
- host-ip-address : O endereço IP de origem
- username : o nome de usuário do banco de dados
- password : a senha do usuário do banco de dados
- client-key : A chave privada não criptografada PKCS#1 ou PKCS#8 codificada em PEM associada ao Certificado do Cliente. Se este campo for usado, o campo
clientCertificate
será obrigatório. - client-certificate : O certificado x509 codificado em PEM que será usado pela réplica para autenticar no servidor de banco de dados de origem. Se este campo for usado, o campo
clientKey
será obrigatório. - ca-certificate : obrigatório. O certificado x509 codificado em PEM da CA que assinou o certificado do servidor de banco de dados de origem. A réplica usará esse certificado para verificar se está se conectando ao host correto.
Método HTTP e URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar corpo JSON:
{ "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username", "password": "password", "ssl": { "clientKey": "client-key", "clientCertificate": "client-certificate", "caCertificate": "ca-certificate" } } }
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para ver informações de alto nível sobre como usar gcloud
para criar perfis de conexão do Database Migration Service, clique aqui .
Após a criação, você pode visualizar as informações sobre seu perfil de conexão chamando o método connectionProfiles/get
.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
Método HTTP e URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username" } }
gcloud
Para obter mais informações sobre como usar gcloud
para recuperar informações sobre seu perfil de conexão, clique aqui .
Criar um perfil de conexão para um banco de dados de origem do Cloud SQL para PostgreSQL
Veja a seguir uma solicitação para criar um perfil de conexão para um banco de dados de origem do Cloud SQL para PostgreSQL. Este exemplo usa um perfil de conexão PostgreSQL porque ele se conecta ao mecanismo de banco de dados PostgreSQL, e não à camada de gerenciamento do Cloud SQL.
Para criar o pareamento entre a origem e a réplica usando o Cloud SQL, você precisa fornecer o ID da instância do seu banco de dados Cloud SQL. Você pode encontrar o valor do ID da instância usando o método databases/list
da API Cloud SQL Admin.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
- connection-profile-display-name : O nome de exibição do perfil de conexão
- host-ip-address : O endereço IP de origem
- username : o nome de usuário do banco de dados
- password : a senha do usuário do banco de dados
- cloud-sql-instance-id : o ID da instância do Cloud SQL
Método HTTP e URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar corpo JSON:
{ "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username", "password": "password", "cloud_sql_id": "cloud-sql-instance-id" } }
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para ver informações de alto nível sobre como usar gcloud
para criar perfis de conexão do Database Migration Service, clique aqui .
Para obter mais informações sobre como usar gcloud
para criar um perfil de conexão para um banco de dados de origem Cloud SQL para PostgreSQL, clique aqui .
Criar um perfil de conexão para o destino do Cloud SQL para PostgreSQL
Veja a seguir uma solicitação para criar um perfil de conexão para um destino do Cloud SQL para PostgreSQL. O Database Migration Service usa as informações desta solicitação para criar uma nova instância do Cloud SQL para PostgreSQL.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
- connection-profile-display-name : O nome de exibição do perfil de conexão
- database-version : a versão do banco de dados. Por exemplo, POSTGRES_12.
- tier : o tipo de máquina. Por exemplo, db-custom-1-4096.
- data-disk-type : o tipo de disco de dados. Por exemplo, PD_SSD.
- data-disk-size-gb : o tamanho do disco de dados, em Gb. Por exemplo, 20.
- zone : A zona na região do projeto
- cmek_key_name : opcional : o caminho completo e o nome de uma chave de criptografia gerenciada pelo cliente (CMEK). Por exemplo, "projects/ project-id /locations/ location /keyRings/ ring /cryptoKeys/ customer-managed-encryption-key ".
Todos os dados armazenados dentro Google Cloud é criptografado em repouso usando os mesmos sistemas de gerenciamento de chaves reforçados que usamos para nossos próprios dados criptografados. Esses sistemas de gerenciamento de chaves fornecem auditoria e controles rígidos de acesso às chaves e criptografam os dados do usuário em repouso usando padrões de criptografia AES-256. Nenhuma configuração, configuração ou gerenciamento é necessário. Google CloudA criptografia padrão em repouso do é a melhor escolha para usuários que não possuem requisitos específicos relacionados à conformidade ou localidade do material criptográfico.
Se você precisar de mais controle sobre as chaves usadas para criptografar dados em repouso dentro de um Google Cloud projeto, o Database Migration Service oferece a capacidade de proteger seus dados usando chaves de criptografia gerenciadas por você no Cloud Key Management Service (KMS) . Essas chaves de criptografia são chamadas de chaves de criptografia gerenciadas pelo cliente (CMEK). Quando você protege dados no Database Migration Service com CMEK, a CMEK fica sob seu controle.
O parâmetro cmek_key_name
está associado a uma CMEK que o Database Migration Service pode usar para criptografar dados migrados da origem para o destino. A CMEK é representada pelo espaço reservado customer-managed-encryption-key .
O espaço reservado ring representa o conjunto de chaves da sua CMEK. Um porta-chaves organiza as chaves em um formato específico Google Cloud localização e permite gerenciar o controle de acesso em grupos de chaves. O nome de um keyring não precisa ser exclusivo em um Google Cloud projeto, mas deve ser exclusivo em um determinado local. Para obter mais informações sobre keyrings, consulte Recursos do Cloud KMS .
Como parte da criação do perfil de conexão, o Database Migration Service verificará se a CMEK existe e se o Database Migration Service tem permissões para usar a chave.
Se alguma dessas condições não for atendida, a seguinte mensagem de erro será retornada:
CMEK_DOES_NOT_EXIST_OR_MISSING_PERMISSIONS
Para resolver esse problema, verifique se a chave fornecida existe e se a conta de serviço do Database Migration Service tem a permissão cloudkms.cryptoKeys.get
para a chave.
Se você preferir usar Google Clouddo sistema interno de gerenciamento de chaves em vez de uma CMEK para criptografar seus dados, não inclua o parâmetro e o valor cmek_key_name
em sua solicitação de API.
Método HTTP e URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar corpo JSON:
{ "displayName": "connection-profile-display-name", "cloudsql": { "settings": { "databaseVersion": "database-version", "tier": "machine-type", "storageAutoResizeLimit": 0, "activationPolicy": "ALWAYS", "ipConfig": { "authorizedNetworks": [], "enableIpv4": true, "privateNetwork": null }, "autoStorageIncrease": false, "dataDiskType": "data-disk-type", "dataDiskSizeGb": "data-disk-size", "zone": "zone", "sourceId": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "cmek_key_name": "projects/project-id/locations/location/keyRings/ring/cryptoKeys/customer-managed-encryption-key" } } }
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591975557292-5a7e4b195623c-e350e3da-713dee7d", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T15:25:57.430715421Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para ver informações de alto nível sobre como usar gcloud
para criar perfis de conexão do Database Migration Service, clique aqui .
Obtenha informações sobre um perfil de conexão
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
Método HTTP e URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "connection-profile-display-name", "postgres": { "host": "host-ip-address", "port": 5432, "username": "username" } }
gcloud
Para obter mais informações sobre como usar gcloud
para recuperar informações sobre seu perfil de conexão, clique aqui .
Listar perfis de conexão
Veja a seguir uma solicitação para recuperar informações sobre todos os seus perfis de conexão.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
-
orderBy:
Use este filtro para recuperar uma listagem de todos os perfis de conexão de uma região específica em ordem alfabética. Por exemplo, o filtroorderBy=name
retorna todos os perfis de conexão, em ordem alfabética, por nome. pageSize:
use esse filtro para especificar o número máximo de perfis de conexão que o Database Migration Service recupera e exibe em uma página. Por exemplo, ao definirpageSize=10
, o Database Migration Service retornará até 10 perfis de conexão para uma página.
Se houver mais de 10 perfis de conexão, eles aparecerão em outras páginas. No final de cada página, um parâmetro nextPageToken
e um identificador exclusivo aparecem. Use o identificador para recuperar a listagem dos perfis de conexão da página seguinte.
Método HTTP e URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "connectionProfiles": [ { "name": "projects/project-id/locations/region/connectionProfiles/name-of-first-connection-profile", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-24T13:13:39.455857411Z", "state": "READY", "displayName": "display-name-of-first-connection-profile", "postgres": { "host": "host-ip-address-of-first-connection-profile", "port": port-number-of-first-connection-profile, "username": "username-of-first-connection-profile", "password_set": "true" } } { "name": "projects/project-id/locations/region/connectionProfiles/name-of-second-connection-profile", "createTime": "2020-11-21T19:22:25.153824963Z", "updateTime": "2020-11-11T11:15:14.451046111Z", "state": "READY", "displayName": "display-name-of-second-connection-profile", "postgres": { "host": "host-ip-address-of-second-connection-profile", "port": port-number-of-second-connection-profile, "username": "username-of-second-connection-profile", "password_set": "true" } } ] }
gcloud
Para obter mais informações sobre como usar gcloud
para recuperar informações sobre todos os seus perfis de conexão, clique aqui .
Atualizar um perfil de conexão
Veja a seguir uma solicitação para atualizar os campos de nome de usuário e senha de um perfil de conexão existente. Ao usar o parâmetro updateMask
na solicitação, apenas esses campos precisam ser incluídos no corpo da solicitação.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
- username : o nome de usuário do banco de dados
- password : a senha do usuário do banco de dados
Método HTTP e URL:
PATCH https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?updateMask=postgres.username,postgres.password
Solicitar corpo JSON:
{ "postgres" { "username": "username", "password": "password" } }
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para obter mais informações sobre como usar gcloud
para atualizar seu perfil de conexão, clique aqui .
Excluir um perfil de conexão
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
Método HTTP e URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para obter mais informações sobre como usar gcloud
para excluir seu perfil de conexão, clique aqui .
Excluir um perfil de conexão e a instância associada do Cloud SQL
Veja a seguir uma solicitação para excluir um perfil de conexão de destino, bem como excluir em cascata a instância associada do Cloud SQL.
DESCANSAR
Antes de usar qualquer um dos dados da solicitação, faça as seguintes substituições:
- project-id : o ID do projeto
- region : A região do projeto
- connection-profile-id : o ID do perfil de conexão
Método HTTP e URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?force=true
Para enviar sua solicitação, expanda uma destas opções:
Você deverá receber uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/region/operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id/locations/region/connectionProfiles/connection-profile-id", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
Para obter mais informações sobre como usar gcloud
para excluir seu perfil de conexão e a instância associada do Cloud SQL, clique aqui .
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-05-15 UTC.