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.
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 begrenzt 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. Ihr Administrator muss eine Identitäts-Policy konfigurieren, um das öffentliche Cloud Shell-Netzwerk zu aktivieren. Weitere Informationen finden Sie unter Cloud Shell-Netzwerk.
So stellen Sie eine Verbindung zu einem privaten OCI GoldenGate-Deployment im Admin-Client her:
-
Wählen Sie in der globalen Navigationsleiste der Oracle Cloud-Konsole Entwicklertools, Cloud Shell aus.
Hinweis: Wenn Sie zum ersten Mal eine Verbindung zu Cloud Shell herstellen, kann die Verbindung einige Minuten dauern.
-
(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 rsaBehalten Sie den Standarddateinamen bei und geben Sie bei Aufforderung keine Passphrase ein. Der Private Key befindet sich unter
~/ssh/id_rsaund der Public Key unter~/ssh/id_rsa.pub. -
Notieren Sie sich auf der Seite "Deployment" die Informationen unter der privaten IP und dem Subnetz des Deployments.
-
Bastion erstellen:
-
Wählen Sie im Navigationsmenü der Oracle Cloud-Konsole die Option Identität und Sicherheit, Bastion aus.
-
Wählen Sie auf der Seite "Bastion" die Option Bastion erstellen.
-
Geben Sie auf der Seite "Bastion erstellen" einen Namen an, und wählen Sie dann dasselbe Subnetz, in dem sich das Deployment befindet.
-
Geben Sie unter CIDR-Blockausnahmeliste
0.0.0.0/0ein. -
Wählen Sie Bastion erstellen aus.
-
-
Nachdem die Bastion aktiv ist, erstellen Sie eine Session:
-
Wählen Sie auf der Seite mit den Bastiondetails die Option Session erstellen aus.
-
Wählen Sie auf der Seite "Session erstellen" für Sessiontyp die Option SSH-Portweiterleitungssession aus.
-
Geben Sie einen Sitzungsnamen ein.
-
Wählen Sie für Verbindung mit dem Zielhost mit die Option IP-Adressen aus, und geben Sie dann die private IP-Adresse des Deployments ein
-
Geben Sie unter "Port"
443ein. -
Wählen Sie unter "SSH-Schlüssel hinzufügen" eine der folgenden Optionen aus:
-
Fügen Sie den SSH-Schlüssel ein, und fügen Sie den Inhalt des Public Keys (
(~/ssh/id_rsa.pub) ein, der in Cloud Shell in Schritt 2 oben erstellt wurde. -
Generieren Sie ein SSH-Schlüsselpaar
-
-
Wählen Sie Session erstellen aus.
-
-
Sobald die Session den Status "Aktiv" aufweist, wählen Sie im Aktionsmenü (Auslassungspunkte) den Befehl SSH anzeigen aus.
-
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 die Portweiterleitung auf einem privilegierten Port mit
sudo-Zugriff nicht zu. Daher müssen Sie einen nicht privilegierten Port wie 7443 verwenden. Nachdem der Befehl einmal im Vordergrund ausgeführt wurde, um den Bastionhost zuknown_hostshinzuzufügen, können Sie ein Und-Zeichen (&) an das Ende des Befehls anfügen, damit er im nächsten Mal im Hintergrund ausgeführt werden kann. -
Kopieren Sie den Befehl, und führen Sie ihn in Cloud-Shell aus. Sie können die
bind: Cannot assign requested address-Meldungen ignorieren.
Beispiel für REST-API-Aufrufe
Optional können Sie Ihren Deployment-Benutzernamen und Ihr Kennwort in einer [.netrc](netrc.html)-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
Listenextrakte oder -replikate
Listenextrakte:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts
Listenreplikate:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats
Extrakt- 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"}]
}
Starten Sie dann den folgenden Befehl, 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.* into 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"
}
Starten Sie anschließend den folgenden Befehl, 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
Extrakt oder Replicat 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
Extraktstatus 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: