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.

  1. 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.

  2. (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 rsa

    Mantenere il nome file predefinito e non immettere una passphrase quando richiesto. La chiave privata si trova in ~/ssh/id_rsa e la chiave pubblica si trova in ~/ssh/id_rsa.pub.

  3. Nella pagina dei dettagli della distribuzione, prendere nota delle informazioni sull'IP privato e sulla subnet della distribuzione.

  4. Creare un bastion:

    1. Nel menu di navigazione della console di Oracle Cloud selezionare Identità e sicurezza, quindi Bastion.

    2. Nella pagina Bastion selezionare Crea bastion.

    3. Nella pagina Crea bastion immettere un nome, quindi selezionare la stessa subnet in cui risiede la distribuzione.

    4. Per la lista di inclusione blocchi CIDR, immettere 0.0.0.0/0.

    5. Selezionare Crea bastion.

  5. Dopo che il bastion è attivo, creare una sessione:

    1. Nella pagina dei dettagli del bastion selezionare Crea sessione.

    2. Nella pagina Crea sessione, per Tipo di sessione, selezionare Sessione di inoltro porta SSH.

    3. Immettere un nome sessione.

    4. Per Connettersi all'host di destinazione utilizzando, selezionare Indirizzo IP, quindi immettere l'indirizzo IP privato della distribuzione.

    5. Per Porta, immettere 443.

    6. 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

    7. Selezionare Crea sessione.

  6. Dopo che la sessione è attiva, selezionare Visualizza comando SSH dal relativo menu Azione (icona ellissi).

  7. 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 a known_hosts, è possibile aggiungere una E commerciale (&) alla fine del comando in modo che possa essere eseguita in background la prossima volta.

  8. 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: