Auf dieser Seite wird beschrieben, wie Sie mit der Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) HL7v2-Nachrichten in einem HL7v2-Speicher in einen Zustand innerhalb der letzten 21 Tage wiederherstellen. Mit der PITR-Funktion können Sie nach unerwünschten Änderungen wiederherstellen, z. B. nach dem versehentlichen Löschen von HL7v2-Nachrichten.
Hinweise
PITR-Anfragen werden als Anfragen für erweiterte Vorgänge kategorisiert und entsprechend in Rechnung gestellt. Bevor Sie PITR verwenden, sollten Sie sich die Preise für Anfragen zu erweiterten Vorgängen ansehen.
Wiederherstellungsworkflow
Führen Sie zuerst einen Probelauf durch, um sicherzustellen, dass die Produktionswiederherstellung wie erwartet funktioniert. Der Testlauf gibt eine oder mehrere Dateien mit den IDs der wiederherzustellenden HL7v2-Nachrichten aus. Prüfen Sie die Richtigkeit der Ausgabedateien, bevor Sie die Wiederherstellung noch einmal in der Produktionsumgebung ausführen.
Wenn Sie bestimmte HL7v2-Nachrichten oder HL7v2-Nachrichten gemäß Filterkriterien wiederherstellen möchten, geben Sie einen Filter an.
Probelauf durchführen
Führen Sie vor der Wiederherstellung von HL7v2-Nachrichten in der Produktion einen Testlauf durch.
In den folgenden Beispielen wird gezeigt, wie Sie mit der Methode hl7V2Stores.rollback
einen Trockenlauf durchführen.
REST
Stellen Sie die HL7v2-Nachrichten wieder her.
Wenn Sie einen Probelauf durchführen möchten, muss das Feld
force
den Wertfalse
haben.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist der Standort des DatasetsDATASET_ID
ist das übergeordnete Dataset des HL7v2-SpeichersHL7V2_STORE_ID
ist die HL7v2-Speicher-IDRECOVERY_TIMESTAMP
: einen Wiederherstellungspunkt aus den letzten 21 Tagen. Verwenden Sie das RFC 3339-Format. Geben Sie die Uhrzeit auf die Sekunde genau an und geben Sie eine Zeitzone an, z. B.2015-02-07T13:28:17.239+02:00
oder2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: der vollständig qualifizierte URI zu einem Cloud Storage-Ordner oder -Bucket, in den Ausgabedateien geschrieben werden
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:rollback"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:rollback" | Select-Object -Expand ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: die ID Ihres Google Cloud-ProjektsDATASET_ID
: die Dataset-IDLOCATION
: der Standort des DatasetsOPERATION_ID
: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Führen Sie diesen Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, ist der lang andauernde Vorgang abgeschlossen.
Ausgabedateien des Probelaufs ansehen
Bei jedem Trockenlauf werden eine oder mehrere Dateien mit den IDs und Typen der wiederherzustellenden HL7v2-Nachrichten ausgegeben. Die Dateien werden im Ziel-Cloud Storage-Bucket im Unterordner des Ordners rollback_messages
erstellt. Der Name des Unterordners ist die LRO-ID, die in der hl7V2Stores.rollback
-Antwort zurückgegeben wird. Informationen zum Ansehen der Dateien und zur Überprüfung, ob die Wiederherstellung wie erwartet funktioniert, finden Sie unter Objektmetadaten ansehen.
Die Anzahl der Dateien ist proportional zur Anzahl der wiederhergestellten HL7v2-Nachrichten.
Dateinamen haben das Format trial-NUMBER-of-TOTAL_NUMBER.txt
, wobei NUMBER
die Dateinummer und TOTAL_NUMBER
die Gesamtzahl der Dateien ist.
Schema der Ausgabedatei für den Probelauf
Die Ausgabedateien einer Testwiederherstellung verwenden das in der folgenden Tabelle dargestellte Schema:
MESSAGE_ID |
TIMESTAMP |
---|---|
Die HL7v2-Nachrichten-ID. | Die Zeit, zu der die HL7v2-Nachricht im HL7v2-Speicher erstellt oder aktualisiert wurde. |
In der Produktionsumgebung wiederherstellen
Führen Sie vor der Wiederherstellung in der Produktion einen Testlauf durch und prüfen Sie die Ausgabedateien des Testlaufs, um sicherzustellen, dass die Wiederherstellung in der Produktion wie erwartet funktioniert.
In den folgenden Beispielen wird gezeigt, wie Sie HL7v2-Nachrichten mit der Methode hl7V2Stores.rollback
in der Produktion wiederherstellen.
REST
Stellen Sie die HL7v2-Nachrichten wieder her.
Das Feld
force
musstrue
sein.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist der Standort des DatasetsDATASET_ID
ist das übergeordnete Dataset des HL7v2-SpeichersHL7V2_STORE_ID
ist die HL7v2-Speicher-IDRECOVERY_TIMESTAMP
: einen Wiederherstellungspunkt aus den letzten 21 Tagen. Verwenden Sie das RFC 3339-Format. Geben Sie die Uhrzeit auf die Sekunde genau an und geben Sie eine Zeitzone an, z. B.2015-02-07T13:28:17.239+02:00
oder2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: der vollständig qualifizierte URI zu einem Cloud Storage-Ordner oder -Bucket, in den Ausgabedateien geschrieben werden
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:rollback"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:rollback" | Select-Object -Expand ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: die ID Ihres Google Cloud-ProjektsDATASET_ID
: die Dataset-IDLOCATION
: der Standort des DatasetsOPERATION_ID
: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Führen Sie diesen Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, ist der lang andauernde Vorgang abgeschlossen.
Ausgabedateien der Produktionswiederherstellung ansehen
Bei einer Produktionswiederherstellung werden die folgenden Dateien ausgegeben. Die Dateien werden im Ziel-Cloud Storage-Bucket im Unterordner „rollback_messages
“ erstellt. Der Name des Unterordners ist die LRO-ID, die in der hl7V2Stores.rollback
-Antwort zurückgegeben wird. Informationen zum Ansehen der Dateien finden Sie unter Objektmetadaten ansehen.
success-NUMBER-of-TOTAL_NUMBER.txt
: Enthält erfolgreich wiederhergestellte HL7v2-Nachrichten.fail-NUMBER-of-TOTAL_NUMBER.txt
: Enthält HL7v2-Nachrichten, die nicht wiederhergestellt werden konnten. Auch wenn keine Fehler auftreten, wird eine leere Datei generiert.
In den Dateinamen steht NUMBER
für die Dateinummer und TOTAL_NUMBER
für die Gesamtzahl der Dateien.
Schema der Produktionsausgabedatei
Die Erfolgs- und Fehlerdateien aus einer Produktionswiederherstellung verwenden das folgende Schema. Fehlerdateien enthalten eine zusätzliche Spalte ERROR_MESSAGE
.
MESSAGE_ID |
ERROR_MESSAGE (nur Fehlerdateien) |
---|---|
Die HL7v2-Nachrichten-ID. | Nur Fehlerdateien. Beschreibt, warum die HL7v2-Nachricht nicht wiederhergestellt werden konnte. |
HL7v2-Store mithilfe von Filtern in einen vorherigen Zustand wiederherstellen
Wenn ein HL7v2-Speicher durch einen oder mehrere langlaufende Vorgänge (Long-Running Operations, LROs) geändert wurde, können Sie die LRO-IDs in einem Filter angeben, um den HL7v2-Speicher in seinen vorherigen Zustand wiederherzustellen. So können Sie beispielsweise einen HL7v2-Speicher in seinem vorherigen Zustand wiederherstellen, bevor mit einem Importvorgang HL7v2-Nachrichten importiert wurden.
Sie geben die LRO-IDs im RollbackHL7MessagesFilteringFields
-Objekt an, wenn Sie eine hl7V2Stores.rollback
-Anfrage senden.
Informationen zum Auflisten und Ansehen von LRO-IDs in einem Cloud Healthcare API-Dataset finden Sie unter LROs auflisten.