Mit der REST-API

Mit der OCI GoldenGate-REST-API können Sie mit Ihren Datenreplikations-Deployments kommunizieren. Erfahren Sie, wie Sie die REST-API in verschiedenen Konfigurationen verwenden und Befehle mit curl und Cloud Shell aufrufen.

Verwandte Themen

Verbindung zu einem öffentlichen Deployment herstellen

Um eine Verbindung zu einem OCI GoldenGate-Deployment mit einem öffentlichen Endpunkt in Cloud Shell herzustellen, benötigen Sie nur die Deployment-URL. Die Deployment-URL (Konsolen-URL) finden Sie auf der Detailseite des Deployments.

Verbindung zu einem privaten Deployment herstellen

Wenn das Deployment über einen privaten Endpunkt verfügt, können Sie Cloud Shell mit einem Netzwerk mit Zugriff auf das Deployment über Cloud Shell Networking verbinden oder eine Bastion, Bastion-Session und einen SSH-Tunnel erstellen.

Standardmäßig beschränkt Cloud Shell den Netzwerkzugriff auf interne OCI-Ressourcen in der Hauptregion Ihres Mandanten, es sei denn, Sie haben das von Cloud Shell verwaltete öffentliche Netzwerk aktiviert. Der Administrator muss eine Identitäts-Policy konfigurieren, um das öffentliche Cloud Shell-Netzwerk zu aktivieren. Weitere Informationen finden Sie unter Cloud Shell-Networking.

So stellen Sie eine Verbindung zu einem privaten OCI GoldenGate-Deployment im Admin-Client her:
  1. Klicken Sie in der globalen Navigationsleiste der Oracle Cloud-Konsole auf Entwicklungstools, Cloud Shell.

    Hinweis:

    Wenn Sie zum ersten Mal eine Verbindung zu Cloud Shell herstellen, kann die Verbindung einige Minuten dauern.
  2. (Optional) Führen Sie den folgenden Befehl aus, um SSH-Schlüssel zu generieren. Sie können diesen Schritt überspringen, wenn Sie die Schlüssel beim Erstellen der Bastion generieren möchten.
    ssh-key gen -t rsa

    Behalten Sie den Standarddateinamen bei, und geben Sie bei Aufforderung keine Passphrase ein. Der Private Key befindet sich unter ~/ssh/id_rsa und der Public Key unter ~/ssh/id_rsa.pub.

  3. Notieren Sie sich auf der Seite "Deployment" die privaten IP- und Subnetzinformationen des Deployments.
  4. Bastion erstellen:
    1. Wählen Sie im Navigationsmenü der Oracle Cloud-Konsole die Optionen Identität und Sicherheit, Bastion aus.
    2. Klicken Sie auf der Seite "Bastion" auf Bastion erstellen.
    3. Geben Sie auf der Seite "Bastion erstellen" einen Namen ein, und wählen Sie dann das Subnetz aus, in dem sich das Deployment befindet.
    4. Geben Sie unter CIDR-Blockausschlussliste 0.0.0.0/0 ein.
    5. Click Create bastion.
  5. Nachdem die Bastion aktiv ist, erstellen Sie eine Session:
    1. Klicken Sie auf der Seite mit den Bastiondetails auf Session erstellen.
    2. Wählen Sie auf der Seite "Session erstellen" unter Sessiontyp die Option SSH-Portweiterleitungssession aus.
    3. Geben Sie einen Sessionnamen ein.
    4. Wählen Sie unter Verbindung mit dem Zielhost herstellen die Option IP-Adresse aus, und geben Sie dann die private IP-Adresse des Deployments ein.
    5. Geben Sie unter Port die Nummer 443 ein.
    6. Wählen Sie unter "Add SSH key" eine der folgenden Optionen:
      • Fügen Sie den SSH-Schlüssel ein, und fügen Sie den Inhalt des Public Keys ((~/ssh/id_rsa.pub) ein, der in Schritt 2 oben in Cloud Shell erstellt wurde.
      • Generieren Sie ein SSH-Schlüsselpaar
    7. Klicken Sie auf Session erstellen.
  6. Nachdem die Session aktiv ist, wählen Sie im Aktionsmenü (Auslassungspunkte) die Option SSH-Befehl anzeigen aus.
  7. Geben Sie im Dialogfeld "SSH-Befehl anzeigen" den Pfad zum Private Key (~/ssh/id_rsa) anstelle von <private-key> ein, und ersetzen Sie <local-port> durch den Port in Cloud Shell, der die Verbindung an die Bastion weiterleitet.

    Hinweis:

    Cloud Shell lässt keine Portweiterleitung auf einem privilegierten Port mit sudo-Zugriff zu. Daher müssen Sie einen nicht privilegierten Port wie 7443 verwenden. Nachdem der Befehl einmal im Vordergrund ausgeführt wurde, um den Bastionhost zu known_hosts hinzuzufügen, können Sie ein Et-Zeichen (&) an das Ende des Befehls anhängen, damit er beim nächsten Mal im Hintergrund ausgeführt werden kann.
  8. Kopieren Sie den Befehl, und führen Sie ihn in Cloud-Shell aus. Nachrichten bind: Cannot assign requested address können ignoriert werden.

REST-API-Beispielaufrufe

Optional können Sie Ihren Deployment-Benutzernamen und Ihr Kennwort in einer .netrc-Datei speichern. In den folgenden Beispielen wird davon ausgegangen, dass Sie eine .netrc-Datei verwenden.

Sie können jetzt mit curl Anforderungen an das Datenreplikations-Deployment senden. Beispiel: Der folgende Befehl gibt den Deployment-Zustand zurück:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/config/health

Traildateien auflisten

curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/exttrails

Exporte oder Replicats auflisten

Listenextrakte:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts
Replicats auflisten:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats

Extract- oder Replicat-Details abrufen

Extraktdetails abrufen:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts/<extract name>
Replicat-Details abrufen:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats/<replicat name>

Extract erstellen

Erstellen Sie zunächst ein JSON-Dokument mit der Extract-Konfiguration. Beispiel: Mit dieser Datei kann ein Extract namens EATP mit dem E1-Trail generiert und Daten aus SRC_OCIGGLL erfasst werden.*:
{
        "config":[
                "Extract EATP",
                "ExtTrail E1",
                "UseridAlias BLOGSRCATP", 
                "Table SRC_OCIGGLL.*;"
        ], 
        "source":{"tranlogs":"integrated"},
        "credentials":{"alias":"BLOGSRCATP"},
        "registration":{"optimized":false},
        "begin":"now",
        "targets":[{"name":"E1"}]
}
Führen Sie dann den folgenden Befehl aus, um den Extract-Prozess zu erstellen:
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

Replicat erstellen

Erstellen Sie zunächst ein JSON-Dokument mit der Replicat-Konfiguration. Beispiel: Mit dieser Datei kann ein Replicat namens RADW mit dem E1-Trail generiert und Daten aus SRC_OCIGGLL.* in SRCMIRROR_OCIGGLL repliziert werden.*:
{
        "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"
}
Führen Sie dann den folgenden Befehl aus, um den Replicat-Prozess zu erstellen:
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

Extract oder Replikat starten

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>"}'

Status und Statistiken für einen bestimmten Extract abrufen

Extraktionsstatus abrufen:
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"}'
Extraktstatistiken abrufen:
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"}'

Status und Statistiken für ein bestimmtes Replicat abrufen

Replicat-Status abrufen:
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"}'
Replicat-Statistiken abrufen:
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"}'

Weitere Informationen

Weitere Informationen zu Oracle GoldenGate-REST-APIs: