HL7v2-Nachrichten mit der Wiederherstellung zu einem bestimmten Zeitpunkt wiederherstellen

Auf dieser Seite wird beschrieben, wie Sie HL7v2 mithilfe der Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) wiederherstellen können. Nachrichten in einem HL7v2-Speicher mit einem Status innerhalb der letzten 21 Tage. Sie können PITR zur Wiederherstellung nach unerwünschten Änderungen wie versehentlichem Löschen von HL7v2-Nachrichten.

Hinweise

PITR-Anfragen werden als Anfragen für erweiterte Vorgänge kategorisiert und entsprechend in Rechnung gestellt. Überprüfen Sie vor der Verwendung der Wiederherstellung zu einem bestimmten Zeitpunkt die Preise für Anfragen für erweiterte Vorgänge.

Wiederherstellungsworkflow

Damit eine Produktionswiederherstellung wie erwartet funktioniert, sollten Sie zuerst einen Probelauf durchführen. Beim Probelauf wird eine oder mehrere Dateien ausgegeben, die die IDs der Wiederherzustellende HL7v2-Nachrichten. Prüfen Sie die Ausgabedateien, bevor Sie die Wiederherstellung noch einmal in der Produktion auszuführen.

Um bestimmte HL7v2-Nachrichten oder HL7v2-Nachrichten gemäß einem Filter wiederherzustellen geben Sie einen Filter an.

Probelauf durchführen

Führen Sie einen Probelauf durch, bevor Sie HL7v2-Nachrichten in der Produktion wiederherstellen.

Die folgenden Beispiele zeigen, wie ein Probelauf durchgeführt wird. mithilfe der hl7V2Stores.rollback .

REST

  1. Stellen Sie die HL7v2-Nachrichten wieder her.

    Achten Sie bei einem Probelauf darauf, dass die force ist false.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des HL7v2-Speichers
    • HL7V2_STORE_ID ist die HL7v2-Speicher-ID
    • RECOVERY_TIMESTAMP: ein Wiederherstellungspunkt innerhalb der letzten 21 Tage. Verwenden Sie das Format RFC 3339. Geben Sie die Zeit bis auf die Sekunde an und fügen Sie eine Zeitzone hinzu, z. B. 2015-02-07T13:28:17.239+02:00 oder 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: der voll 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 Content

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

    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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-Projekts
    • DATASET_ID: die Dataset-ID
    • LOCATION: der Standort des Datasets
    • OPERATION_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 Content

    APIs Explorer

    Öffnen Sie das 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.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, wird der lang andauernden Vorgang abgeschlossen ist.

Probelauf-Ausgabedateien ansehen

Bei jedem Probelauf wird eine oder mehrere Dateien ausgegeben, die die IDs und Typen der HL7v2- Nachrichten, die wiederhergestellt werden sollen. Die Dateien werden in einem Unterordner im Ordner rollback_messages im Ziel erstellt Cloud Storage-Bucket. Der Name des Unterordners ist die LRO-ID, die im Antwort von hl7V2Stores.rollback. Um die Dateien anzusehen und zu prüfen, ob die Wiederherstellung funktioniert wie erwartet, sehen Sie sich Objektmetadaten aufrufen

Die Anzahl der Dateien ist proportional zur Anzahl der wiederhergestellten HL7v2-Nachrichten.

Dateinamen haben das Format trial-NUMBER-of-TOTAL_NUMBER.txt, Dabei ist NUMBER die Dateinummer und TOTAL_NUMBER ist die Gesamtzahl der Dateien.

Ausgabedateischema für Probelauf

Die Ausgabedateien einer Probelaufwiederherstellung verwenden das in der folgende Tabelle:

MESSAGE_ID TIMESTAMP
Die HL7v2-Nachrichten-ID. Der Zeitpunkt, zu dem die HL7v2-Nachricht im HL7v2-Speicher erstellt oder aktualisiert wurde.

In Produktion 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.

Die folgenden Beispiele zeigen, wie HL7v2-Nachrichten in der Produktion wiederhergestellt werden. mithilfe der hl7V2Stores.rollback .

REST

  1. Stellen Sie die HL7v2-Nachrichten wieder her.

    Achten Sie darauf, dass die force ist true.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des HL7v2-Speichers
    • HL7V2_STORE_ID ist die HL7v2-Speicher-ID
    • RECOVERY_TIMESTAMP: einen Wiederherstellungspunkt in den letzten 21 Tagen. Verwenden Sie das Format RFC 3339. Geben Sie die Zeit bis auf die Sekunde an und fügen Sie eine Zeitzone hinzu, z. B. 2015-02-07T13:28:17.239+02:00 oder 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: der voll 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 Content

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

    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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-Projekts
    • DATASET_ID: die Dataset-ID
    • LOCATION: der Standort des Datasets
    • OPERATION_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 Content

    APIs Explorer

    Öffnen Sie das 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.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, wird der lang andauernden Vorgang abgeschlossen ist.

Ausgabedateien für die Produktionswiederherstellung ansehen

Bei einer Produktionswiederherstellung werden die folgenden Dateien ausgegeben. Die Dateien werden im Ziel-Cloud Storage-Bucket im Ordner rollback_messages in einem Unterordner erstellt. Der Name des Unterordners ist die LRO-ID, die im Antwort von hl7V2Stores.rollback. Die Dateien finden Sie unter Objektmetadaten aufrufen

  • 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. Eine leere Datei wird selbst dann generiert, gibt es keine Fehler.

In den Dateinamen ist NUMBER die Dateinummer und TOTAL_NUMBER ist die Gesamtzahl der Dateien.

Dateischema für Produktionsausgabe

Die Erfolgs- und Fehlerdateien aus einer Produktionswiederherstellung verwenden Folgendes: Schema. Fehlerdateien enthalten eine zusätzliche 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 Vorgänge mit langer Ausführungszeit geändert wurde, Sie können die LRO-IDs in einem Filter angeben, um den HL7v2-Speicher wiederherzustellen. in den vorherigen Zustand zurückversetzt. 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 Objekt RollbackHL7MessagesFilteringFields an, wenn Sie eine hl7V2Stores.rollback-Anfrage.

Weitere Informationen finden Sie unter LROs auflisten. finden Sie Informationen zum Auflisten und Anzeigen von LRO-IDs in einem Cloud Healthcare API-Dataset.