Utilizzo dell'API REST
Utilizza l'API REST GoldenGate OCI per comunicare con le distribuzioni della replica dei dati. Scopri come utilizzare l'API REST in varie configurazioni, richiamando i comandi utilizzando curl e Cloud Shell.
Connessione a una distribuzione pubblica
Per connettersi a una distribuzione GoldenGate OCI con un endpoint pubblico in Cloud Shell, è necessario solo l'URL di distribuzione. È possibile trovare l'URL di distribuzione (URL console) nella pagina dei dettagli della distribuzione.
Connettersi a una distribuzione privata
Se la distribuzione dispone di un endpoint privato, è possibile connettere Cloud Shell a una rete con accesso alla distribuzione mediante Cloud Shell Networking oppure creare un bastion, una sessione bastion e un tunnel SSH.
Per impostazione predefinita, Cloud Shell limita l'accesso di rete alle risorse interne OCI nell'area di origine della tenancy a meno che non sia stata abilitata la rete pubblica gestita da Cloud Shell. L'amministratore deve configurare un criterio di identità per abilitare la rete pubblica Cloud Shell. Per ulteriori informazioni, vedere Cloud Shell Networking.
Per connettersi a una distribuzione GoldenGate OCI privata nel client di amministrazione, effettuare le operazioni riportate di seguito.
-
Nella barra di navigazione globale della console di Oracle Cloud, selezionare Strumenti Developer, quindi Cloud Shell.
Nota: se si tratta della prima connessione a Cloud Shell, la connessione potrebbe richiedere alcuni minuti.
-
(Opzionale) Eseguire il comando seguente per generare le chiavi SSH. È possibile saltare questo passo se si desidera generare le chiavi quando si crea il bastion.
ssh-key gen -t rsaMantenere il nome file predefinito e non immettere una passphrase quando richiesto. La chiave privata si trova in
~/ssh/id_rsae la chiave pubblica si trova in~/ssh/id_rsa.pub. -
Nella pagina dei dettagli della distribuzione, prendere nota delle informazioni sull'IP privato e sulla subnet della distribuzione.
-
Creare un bastion:
-
Nel menu di navigazione della console di Oracle Cloud selezionare Identità e sicurezza, quindi Bastion.
-
Nella pagina Bastion selezionare Crea bastion.
-
Nella pagina Crea bastion immettere un nome, quindi selezionare la stessa subnet in cui risiede la distribuzione.
-
Per la lista di inclusione blocchi CIDR, immettere
0.0.0.0/0. -
Selezionare Crea bastion.
-
-
Dopo che il bastion è attivo, creare una sessione:
-
Nella pagina dei dettagli del bastion selezionare Crea sessione.
-
Nella pagina Crea sessione, per Tipo di sessione, selezionare Sessione di inoltro porta SSH.
-
Immettere un nome sessione.
-
Per Connettersi all'host di destinazione utilizzando, selezionare Indirizzo IP, quindi immettere l'indirizzo IP privato della distribuzione.
-
Per Porta, immettere
443. -
Per Aggiungi chiave SSH, selezionare una delle seguenti opzioni:
-
Incollare la chiave SSH e incollare il contenuto della chiave pubblica (
(~/ssh/id_rsa.pub) creata in Cloud Shell nel passo 2 precedente. -
Generare una coppie di chiavi SSH
-
-
Selezionare Crea sessione.
-
-
Dopo che la sessione è attiva, selezionare Visualizza comando SSH dal relativo menu Azione (icona ellissi).
-
Nella finestra di dialogo Visualizza comando SSH immettere il percorso della chiave privata (
~/ssh/id_rsa) al posto di<private-key>e sostituire<local-port>con la porta in Cloud Shell che inoltrerà la connessione al bastion.Nota: Cloud Shell non consente l'inoltro delle porte su una porta con privilegi con accesso
sudo, pertanto è necessario utilizzare una porta non con privilegi come 7443. Dopo che il comando viene eseguito una volta in primo piano per aggiungere l'host Bastion aknown_hosts, è possibile aggiungere una E commerciale (&) alla fine del comando in modo che possa essere eseguita in background la prossima volta. -
Copiare il comando, quindi eseguirlo in Cloud Shell. È possibile ignorare i messaggi
bind: Cannot assign requested address.
Chiamate API REST di esempio
Facoltativamente, è possibile memorizzare il nome utente e la password di distribuzione in un file [.netrc](netrc.html). Gli esempi seguenti presuppongono l'utilizzo di un file .netrc.
È ora possibile inviare richieste alla distribuzione della replica dei dati utilizzando curl. Ad esempio, il comando seguente restituisce lo stato della distribuzione:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/config/health
Elenca file trail
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/exttrails
Elenca estrazioni o repliche
Elenca estrazioni:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts
Elenca repliche:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats
Recupera dettagli estrazione o replica
Recupera dettagli estrazione:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts/<extract name>
Recupera dettagli Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats/<replicat name>
Crea estrazione
In primo luogo, creare un documento JSON contenente la configurazione Extract. Ad esempio, questo file può essere utilizzato per generare un Extract denominato EATP utilizzando il trail E1 e acquisendo i dati da 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"}]
}
Quindi, eseguire il comando seguente per creare il processo Extract:
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
Crea un Replicat
In primo luogo, creare un documento JSON contenente la configurazione Replicat. Ad esempio, questo file può essere utilizzato per generare un Replicat denominato RADW utilizzando il trail E1 e replicando i dati da 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"
}
Quindi, eseguire il comando seguente per creare il processo 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
Avvia 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>"}'
Recupera lo stato e le statistiche per un'estrazione specificata
Recupera stato estrazione:
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"}'
Recupera statistiche estrazione:
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"}'
Recupera lo stato e le statistiche per un determinato Replicat
Recupera stato 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"}'
Ottieni statistiche 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"}'
Ulteriori informazioni
Ulteriori informazioni sulle API REST di Oracle GoldenGate: