Descripción general
En esta página, aprenderá a utilizar la API del servicio de migración de bases de datos para administrar perfiles de conexión para una base de datos de origen PostgreSQL y un destino PostgreSQL.
Hay dos formas de utilizar la API del servicio de migración de bases de datos. Puede realizar llamadas a la API REST o puede utilizar la CLI de Google Cloud (CLI).
Para ver información de alto nivel sobre el uso de gcloud
para administrar los perfiles de conexión del Servicio de migración de bases de datos, haga clic aquí .
Crear un perfil de conexión para una base de datos fuente PostgreSQL
A continuación se muestra una solicitud para crear un perfil de conexión para una base de datos de origen PostgreSQL.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
- connection-profile-display-name : el nombre para mostrar del perfil de conexión.
- host-ip-address : la dirección IP de origen
- username : el nombre de usuario de la base de datos
- password : la contraseña del usuario de la base de datos
- client-key : La clave privada codificada en PKCS#1 o PKCS#8 sin cifrar asociada con el certificado de cliente. Si se utiliza este campo, el campo
clientCertificate
es obligatorio. - client-certificate : el certificado codificado en PEM x509 que utilizará la réplica para autenticarse en el servidor de la base de datos de origen. Si se utiliza este campo, el campo
clientKey
es obligatorio. - ca-certificate : obligatorio. El certificado codificado en PEM x509 de la CA que firmó el certificado del servidor de la base de datos de origen. La réplica utilizará este certificado para verificar que se esté conectando al host correcto.
Método HTTP y URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar cuerpo 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para ver información de alto nivel sobre el uso de gcloud
para crear perfiles de conexión del Servicio de migración de bases de datos, haga clic aquí .
Después de la creación, puede ver la información sobre su perfil de conexión llamando al método connectionProfiles/get
.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
Método HTTP y URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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" } }
nube de gcloud
Para obtener más información sobre el uso gcloud
para recuperar información sobre tu perfil de conexión, haz clic aquí .
Crear un perfil de conexión para una base de datos de origen de Cloud SQL para PostgreSQL
A continuación se muestra una solicitud para crear un perfil de conexión para una base de datos de origen de Cloud SQL para PostgreSQL. Este ejemplo utiliza un perfil de conexión de PostgreSQL porque se conecta al motor de base de datos de PostgreSQL y no a la capa de administración de Cloud SQL.
Para crear el emparejamiento entre el origen y la réplica usando Cloud SQL, debes proporcionar el ID de instancia para tu base de datos de Cloud SQL. Puede encontrar el valor de ID de instancia utilizando el método databases/list
de la API de administración de Cloud SQL.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
- connection-profile-display-name : el nombre para mostrar del perfil de conexión.
- host-ip-address : la dirección IP de origen
- username : el nombre de usuario de la base de datos
- password : la contraseña del usuario de la base de datos
- cloud-sql-instance-id : el ID de la instancia de Cloud SQL.
Método HTTP y URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar cuerpo 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para ver información de alto nivel sobre el uso de gcloud
para crear perfiles de conexión del Servicio de migración de bases de datos, haga clic aquí .
Para obtener más información sobre el uso de gcloud
para crear un perfil de conexión para una base de datos de origen de Cloud SQL para PostgreSQL, haga clic aquí .
Crear un perfil de conexión para el destino de Cloud SQL para PostgreSQL
A continuación se muestra una solicitud para crear un perfil de conexión para un destino de Cloud SQL para PostgreSQL. El Servicio de migración de bases de datos utiliza la información de esta solicitud para crear una nueva instancia de Cloud SQL para PostgreSQL.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
- connection-profile-display-name : el nombre para mostrar del perfil de conexión.
- database-version : La versión de la base de datos. Por ejemplo, POSTGRES_12.
- tier : El tipo de máquina. Por ejemplo, db-personalizado-1-4096.
- data-disk-type : el tipo de disco de datos. Por ejemplo, PD_SSD.
- data-disk-size-gb : el tamaño del disco de datos, en Gb. Por ejemplo, 20.
- zone : La zona en la región del proyecto.
- cmek_key_name : Opcional : la ruta completa y el nombre de una clave de cifrado administrada por el cliente (CMEK). Por ejemplo, "proyectos/ project-id /ubicaciones/ location /keyRings/ ring /cryptoKeys/ customer-managed-encryption-key ".
Todos los datos almacenados dentro Google Cloud se cifra en reposo utilizando los mismos sistemas de administración de claves reforzados que utilizamos para nuestros propios datos cifrados. Estos sistemas de administración de claves brindan auditorías y controles estrictos de acceso a las claves, y cifran los datos del usuario en reposo utilizando los estándares de cifrado AES-256. No se requiere instalación, configuración ni administración. Google CloudEl cifrado en reposo predeterminado de es la mejor opción para los usuarios que no tienen requisitos específicos relacionados con el cumplimiento o la localidad del material criptográfico.
Si necesita más control sobre las claves utilizadas para cifrar datos en reposo dentro de un Google Cloud proyecto, entonces el Servicio de migración de bases de datos ofrece la capacidad de proteger sus datos utilizando claves de cifrado administradas por usted dentro del Servicio de administración de claves en la nube (KMS) . Estas claves de cifrado se denominan claves de cifrado administradas por el cliente (CMEK). Cuando protege datos en el Servicio de migración de bases de datos con CMEK, CMEK está bajo su control.
El parámetro cmek_key_name
está asociado con tener una CMEK que el Servicio de migración de bases de datos puede usar para cifrar los datos que se migran desde el origen al destino. La CMEK está representada por el marcador de posición customer-managed-encryption-key .
El marcador de posición ring representa el llavero de su CMEK. Un llavero organiza las llaves en un lugar específico. Google Cloud ubicación y permite gestionar el control de acceso a grupos de llaves. No es necesario que el nombre de un llavero sea único en todo un Google Cloud proyecto, pero debe ser único dentro de una ubicación determinada. Para obtener más información sobre los conjuntos de claves, consulte Recursos de Cloud KMS .
Como parte de la creación del perfil de conexión, el Servicio de migración de bases de datos verificará que CMEK exista y que el Servicio de migración de bases de datos tenga permisos para usar la clave.
Si no se cumple alguna de estas condiciones, se devolverá el siguiente mensaje de error:
CMEK_DOES_NOT_EXIST_OR_MISSING_PERMISSIONS
Para resolver este problema, verifique que la clave que proporcionó exista y que la cuenta de servicio del Servicio de migración de bases de datos tenga el permiso cloudkms.cryptoKeys.get
para la clave.
Si prefieres usar Google Clouddel sistema interno de administración de claves en lugar de un CMEK para cifrar sus datos, luego no incluya el parámetro y el valor cmek_key_name
en su solicitud de API.
Método HTTP y URL:
POST https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles?connectionProfileId=connection-profile-id
Solicitar cuerpo 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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para ver información de alto nivel sobre el uso de gcloud
para crear perfiles de conexión del Servicio de migración de bases de datos, haga clic aquí .
Obtener información sobre un perfil de conexión
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
Método HTTP y URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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" } }
nube de gcloud
Para obtener más información sobre el uso gcloud
para recuperar información sobre tu perfil de conexión, haz clic aquí .
Listar perfiles de conexión
A continuación se muestra una solicitud para recuperar información sobre todos sus perfiles de conexión.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
-
orderBy:
utilice este filtro para recuperar una lista de todos los perfiles de conexión para una región particular en orden alfabético. Por ejemplo, el filtroorderBy=name
devuelve todos los perfiles de conexión, alfabéticamente, por nombre. pageSize:
utilice este filtro para especificar el número máximo de perfiles de conexión que el Servicio de migración de bases de datos recupera y muestra en una página. Por ejemplo, al configurarpageSize=10
, el servicio de migración de bases de datos devolverá hasta 10 perfiles de conexión para una página.
Si hay más de 10 perfiles de conexión, aparecerán en otras páginas. Al final de cada página, aparece un parámetro nextPageToken
y un identificador único. Utilice el identificador para recuperar la lista de perfiles de conexión para la siguiente página.
Método HTTP y URL:
GET https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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" } } ] }
nube de gcloud
Para obtener más información sobre el uso de gcloud
para recuperar información sobre todos tus perfiles de conexión, haz clic aquí .
Actualizar un perfil de conexión
A continuación se muestra una solicitud para actualizar los campos de nombre de usuario y contraseña de un perfil de conexión existente. Al utilizar el parámetro updateMask
en la solicitud, solo es necesario incluir estos campos en el cuerpo de la solicitud.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
- username : el nombre de usuario de la base de datos
- password : la contraseña del usuario de la base de datos
Método HTTP y URL:
PATCH https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?updateMask=postgres.username,postgres.password
Solicitar cuerpo JSON:
{ "postgres" { "username": "username", "password": "password" } }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para obtener más información sobre el uso de gcloud
para actualizar su perfil de conexión, haga clic aquí .
Eliminar un perfil de conexión
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
Método HTTP y URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para obtener más información sobre cómo usar gcloud
para eliminar tu perfil de conexión, haz clic aquí .
Eliminar un perfil de conexión y la instancia de Cloud SQL asociada
A continuación se muestra una solicitud para eliminar un perfil de conexión de destino, así como la eliminación en cascada de la instancia de Cloud SQL asociada.
DESCANSAR
Antes de utilizar cualquiera de los datos de la solicitud, realice los siguientes reemplazos:
- project-id : el ID del proyecto.
- region : La región del proyecto
- connection-profile-id : ID del perfil de conexión.
Método HTTP y URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id/locations/region/connectionProfiles/connection-profile-id?force=true
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ "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 }
nube de gcloud
Para obtener más información sobre el uso de gcloud
para eliminar tanto su perfil de conexión como la instancia de Cloud SQL asociada, haga clic aquí .
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-05-15 (UTC).