Uso de la API de REST
Utilice la API de REST de OCI GoldenGate para comunicarse con los despliegues de replicación de datos. Descubra cómo utilizar la API de REST en varias configuraciones, invocando comandos mediante curl y Cloud Shell.
Conectar a un despliegue público
Para conectarse a un despliegue de OCI GoldenGate con un punto final público en Cloud Shell, solo necesita la URL de despliegue. Puede encontrar la URL de despliegue (URL de consola) en la página de detalles del despliegue.
Conectar a un despliegue privado
Si el despliegue tiene un punto final privado, puede conectar Cloud Shell a una red con acceso al despliegue mediante la red de Cloud Shell, o bien crear un bastión, una sesión de bastión y un túnel SSH.
Por defecto, Cloud Shell limita el acceso de red a los recursos internos de OCI en la región principal de su arrendamiento, a menos que haya activado la red pública gestionada de Cloud Shell. El administrador debe configurar una política de identidad para activar la red pública de Cloud Shell. Para obtener más información, consulte Redes de Cloud Shell.
Para conectarse a un despliegue de OCI GoldenGate privado en el cliente de administración:
-
En la barra de navegación global de la consola de Oracle Cloud, seleccione Herramientas para desarrolladores y, a continuación, Cloud Shell.
Nota: Si esta es la primera vez en que se conecta a Cloud Shell, la conexión puede tardar unos minutos.
-
(Opcional) Ejecute el siguiente comando para generar claves SSH. Puede omitir este paso si desea generar las claves al crear el bastión.
ssh-key gen -t rsaMantenga el nombre de fichero por defecto y no introduzca una frase de contraseña cuando se le solicite. La clave privada está en
~/ssh/id_rsay la clave pública está en~/ssh/id_rsa.pub. -
En la página del despliegue, tome nota de la información de IP y subred privadas del despliegue.
-
Crear un bastión:
-
En el menú de navegación de la consola de Oracle Cloud, seleccione Identidad y seguridad y, a continuación, Bastión.
-
En la página Bastion, seleccione Create bastion.
-
En la página Crear bastion, introduzca un nombre y, a continuación, seleccione la misma subred en la que reside el despliegue.
-
For CIDR block allowlist, enter
0.0.0.0/0. -
Seleccione Crear bastión.
-
-
Una vez que el bastión esté activo, cree una sesión:
-
En la página de detalles del bastión, seleccione Crear sesión.
-
En la página Crear sesión, para Tipo de sesión, seleccione Sesión de reenvío de puerto SSH.
-
Introduzca un nombre de sesión.
-
En Conectarse al host de destino con, seleccione Dirección IP y, a continuación, introduzca la dirección IP privada del despliegue.
-
En Puerto, introduzca
443. -
Para agregar una clave SSH, seleccione una de las siguientes opciones:
-
Pegue la clave SSH y el contenido de la clave pública (
(~/ssh/id_rsa.pub) creada en Cloud Shell en el paso 2 anterior. -
Generar un par de claves SSH
-
-
Seleccione Crear sesión.
-
-
Después de que la sesión esté activa, seleccione Ver comando SSH en el menú Acción (icono con puntos suspensivos).
-
En el recuadro de diálogo Ver comando SSH, introduzca la ruta a la clave privada (
~/ssh/id_rsa) en lugar de<private-key>y sustituya<local-port>por el puerto de Cloud Shell que reenviará la conexión al bastión.Nota: Cloud Shell no permite la reenvío de puertos en un puerto con privilegios y acceso
sudo, por lo que debe utilizar un puerto sin privilegios como 7443. Después de que el comando se haya realizado una vez en primer plano para agregar el host bastión aknown_hosts, puede añadir un amperst y (&) al final del comando, para que se pueda ejecutar en segundo plano la siguiente vez. -
Copie el comando y, a continuación, ejecútelo en Cloud Shell. Puede ignorar el mensaje
bind: Cannot assign requested address.
Llamadas de la API de REST de ejemplo
Opcionalmente, puede almacenar su nombre de usuario y contraseña de despliegue en un archivo [.netrc](netrc.html). Los siguientes ejemplos suponen que está utilizando un archivo .netrc.
Ahora puede enviar solicitudes al despliegue de replicación de datos mediante curl. Por ejemplo, el siguiente comando devuelve el estado del despliegue:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/config/health
Mostrar archivos de pista
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/exttrails
Mostrar extracciones o réplicas
Mostrar extracciones:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts
Lista de réplicas:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats
Recuperar detalles de Extract o Replicat
Recuperar detalles de extracción:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts/<extract name>
Recuperar detalles de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats/<replicat name>
Creación de un Extract
Primero, cree un documento JSON que contenga la configuración de Extract. Por ejemplo, este archivo se puede utilizar para generar un Extract denominado EATP mediante la pista E1 y para capturar datos de SRC_OCIGGLL.*:
{
"config":[
"Extract EATP",
"ExtTrail E1",
"UseridAlias BLOGSRCATP",
"Table SRC_OCIGGLL.*;"
],
"source":{"tranlogs":"integrated"},
"credentials":{"alias":"BLOGSRCATP"},
"registration":{"optimized":false},
"begin":"now",
"targets":[{"name":"E1"}]
}
A continuación, ejecute el siguiente comando para crear el proceso de extracción:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/extracts/<Extract name> -d @<JSON file>.json
Creación de un Replicat
Primero, cree un documento JSON que contenga la configuración de Replicat. Por ejemplo, este archivo se puede utilizar para generar un Replicat denominado RADW mediante la pista E1 y la replicación de datos desde SRC_OCIGGLL.* into SRCMIRROR_OCIGGLL.*:
{
"config":[
"REPLICAT RADW",
"UseridAlias BLOGTRGADW",
"MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;"
],
"source":{"name": "E1"},
"credentials":{"alias":"BLOGTRGADW"},
"checkpoint":{"table":"SRCMIRROR_OCIGGLL.CHECKTABLE"},
"mode":{
"type":"nonintegrated",
"parallel": false
},
"registration":"none",
"begin":"now",
"status":"stopped"
}
Luego, ejecute el siguiente comando para crear el proceso de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/replicats/<Replicat name> -d @<JSON file>.json
Iniciar un Extract o Replicat
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/commands/execute -d '{ "name":"start", "processName":"<Extract or Replicat name>"}'
Obtener el estado y las estadísticas de un Extract determinado
Obtener estado de extracción:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/extracts/<extract name>/command -d '{"command":"STATUS"}'
Obtener estadísticas de Extract:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/extracts/<extract name>/command -d '{"command":"STATUS"}'
Obtener el estado y las estadísticas de un Replicat determinado
Obtener estado de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/replicats/<replicat name>/command -d '{"command":"STATUS"}'
Obtener estadísticas de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/replicats/<replicat name>/command -d '{"command":"STATS"}'
Más información
Obtenga más información sobre las API de REST de Oracle GoldenGate: