Auf dieser Seite wird beschrieben, wie Sie mit der Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) HL7v2-Nachrichten in einem HL7v2-Speicher in einen Zustand innerhalb der letzten 21 Tage zurücksetzen. Mit der Wiederherstellung zu einem bestimmten Zeitpunkt können Sie unerwünschte Änderungen wie das versehentliche Löschen von HL7v2-Nachrichten rückgängig machen.
Hinweise
PITR-Anfragen werden als Anfragen für erweiterte Vorgänge kategorisiert und entsprechend abgerechnet. Bevor Sie PITR verwenden, sollten Sie sich die Preise für Anfragen für erweiterte Vorgänge ansehen.
Wiederherstellungsworkflow
Damit die Wiederherstellung in der Produktion wie erwartet abläuft, sollten Sie zuerst einen Probelauf durchführen. Bei der Simulation werden eine oder mehrere Dateien mit den IDs der wiederherzustellenden HL7v2-Nachrichten ausgegeben. 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 nach einem Filterkriterium wiederherstellen möchten, geben Sie einen Filter an.
Probelauf durchführen
Bevor Sie HL7v2-Nachrichten in der Produktion wiederherstellen, sollten Sie einen Probelauf durchführen.
In den folgenden Beispielen wird gezeigt, wie Sie mit der Methode hl7V2Stores.rollback
einen Probelauf durchführen.
REST
Stellen Sie die HL7v2-Nachrichten wieder her.
Für einen Probelauf muss das Feld
force
auffalse
festgelegt sein.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: 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
: Ein Wiederherstellungspunkt innerhalb der letzten 21 Tage. Verwenden Sie das RFC 3339-Format. Geben Sie die Uhrzeit auf die Sekunde genau an und fügen Sie eine Zeitzone hinzu, 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
ist 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 folgenden 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 Vorgang mit langer Ausführungszeit abgeschlossen.
Ausgabedateien für den Probelauf ansehen
Bei jedem Probelauf wird mindestens eine Datei ausgegeben, die die IDs und Typen der wiederherzustellenden HL7v2-Nachrichten enthält. Die Dateien werden in einem Unterordner im Ordner rollback_messages
im Ziel-Cloud Storage-Bucket erstellt. Der Name des Unterordners ist die LRO-ID, die in der hl7V2Stores.rollback
-Antwort zurückgegeben wird. Informationen zum Ansehen der Dateien und zum Prüfen, 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 Schema in der folgenden Tabelle:
MESSAGE_ID |
TIMESTAMP |
---|---|
Die HL7v2-Nachrichten-ID. | Der Zeitpunkt, zu dem die HL7v2-Nachricht im HL7v2-Speicher erstellt oder aktualisiert wurde. |
In der Produktionsumgebung wiederherstellen
Bevor Sie die Wiederherstellung in der Produktionsumgebung durchführen, sollten Sie einen Probelauf durchführen und die Ausgabedateien des Probelaufs prüfen, um sicherzustellen, dass die Wiederherstellung in der Produktionsumgebung wie erwartet abläuft.
Die folgenden Beispiele zeigen, wie Sie HL7v2-Nachrichten in der Produktion mit der Methode hl7V2Stores.rollback
wiederherstellen.
REST
Stellen Sie die HL7v2-Nachrichten wieder her.
Prüfen Sie, ob das Feld
force
true
ist.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: 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
: Ein Wiederherstellungspunkt innerhalb der letzten 21 Tage. Verwenden Sie das RFC 3339-Format. Geben Sie die Uhrzeit auf die Sekunde genau an und fügen Sie eine Zeitzone hinzu, 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
ist 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 folgenden 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 Vorgang mit langer Ausführungszeit abgeschlossen.
Ausgabedateien für die Produktionswiederherstellung ansehen
Bei der Wiederherstellung der Produktion werden die folgenden Dateien ausgegeben. Die Dateien werden in einem Unterordner des Ordners rollback_messages
im Ziel-Cloud Storage-Bucket erstellt. Der Name des Unterordners ist die LRO-ID, die in der hl7V2Stores.rollback
-Antwort zurückgegeben wird. Informationen zum Aufrufen 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 ist NUMBER
die Dateinummer und TOTAL_NUMBER
die Gesamtzahl der Dateien.
Schema der Produktionsausgabedatei
Die Erfolgs- und Fehlerdateien für die Wiederherstellung in der Produktion 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. |
Filter verwenden, um einen HL7v2-Speicher in einem vorherigen Zustand wiederherzustellen
Wenn ein HL7v2-Speicher durch einen oder mehrere Vorgänge mit langer Ausführungszeit (Long-Running Operations, LROs) geändert wurde, können Sie die LRO-IDs in einem Filter angeben, um den HL7v2-Speicher in seinem vorherigen Zustand wiederherzustellen. Sie können beispielsweise einen HL7v2-Speicher in den vorherigen Zustand zurücksetzen, bevor HL7v2-Nachrichten durch einen Importvorgang importiert wurden.
Sie geben die LRO-IDs im Objekt RollbackHL7MessagesFilteringFields
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.