Recupera i messaggi HL7v2 con il recupero point-in-time (PITR)

Questa pagina descrive come utilizzare il recupero point-in-time (PITR) per recuperare HL7v2 in un archivio HL7v2 in uno stato negli ultimi 21 giorni. Puoi utilizzare la RPI per recuperare da modifiche indesiderate, ad esempio l'eliminazione accidentale di messaggi HL7v2.

Prima di iniziare

Le richieste PITR sono classificate come richieste di operazioni avanzate e vengono fatturate di conseguenza. Prima di utilizzare PITR, consulta i prezzi per richieste di operazioni avanzate.

Flusso di lavoro di recupero

Per assicurarti che un recupero della produzione venga eseguito come previsto, esegui prima una prova. La modalità dry run produce uno o più file contenenti gli ID del Messaggi HL7v2 da recuperare. Verifica la correttezza dei file di output prima eseguendo di nuovo il ripristino in production.

Per recuperare messaggi HL7v2 specifici o messaggi HL7v2 in base a criteri di filtraggine, specifica un filtro.

Esegui una prova

Prima di recuperare i messaggi HL7v2 in produzione, esegui una prova.

I seguenti esempi mostrano come eseguire una prova utilizzando hl7V2Stores.rollback .

REST

  1. Recupera i messaggi HL7v2.

    Per eseguire una prova, assicurati che force è false.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio HL7v2
    • HL7V2_STORE_ID: l'ID store HL7v2
    • RECOVERY_TIMESTAMP: un punto di recupero negli ultimi 21 giorni. Utilizza il formato RFC 3339. Specifica l'ora al secondo e includi un fuso orario, ad esempio 2015-02-07T13:28:17.239+02:00 o 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: l'URI completo di una cartella o un bucket Cloud Storage in cui vengono scritti i file di output

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    cat > request.json << 'EOF'
    {
      "rollbackTime": "RECOVERY_TIMESTAMP",
      "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET",
      "force": "false"
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    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

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    @'
    {
      "rollbackTime": "RECOVERY_TIMESTAMP",
      "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET",
      "force": "false"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $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

    Explorer API

    Copia il corpo della richiesta e apri pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila gli altri campi obbligatori e fai clic su Esegui.

    L'output è il seguente. La risposta contiene un identificatore per un un'operazione a lunga esecuzione (LRO). Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere più tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.

  2. Utilizza il metodo projects.locations.datasets.operations.get per ottenere lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • DATASET_ID: l'ID del set di dati
    • LOCATION: la posizione del set di dati
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    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

    Esegui questo comando:

    $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

    Explorer API

    Apri l'app pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.

    L'output è il seguente. Quando la risposta contiene "done": true, l'operazione a lunga esecuzione è terminata.

Visualizza i file di output dry run

Ogni prova simulata genera uno o più file contenenti gli ID e i tipi di messaggi HL7v2 da recuperare. I file vengono creati in una sottocartella della cartella rollback_messages nel bucket Cloud Storage di destinazione. Il nome della sottocartella è l'ID LRO restituito nella risposta hl7V2Stores.rollback. Per visualizzare i file e assicurarti che il ripristino funzioni come previsto, consulta Visualizza i metadati degli oggetti.

Il numero di file è proporzionale al numero di messaggi HL7v2 recuperati.

I nomi dei file utilizzano il formato trial-NUMBER-of-TOTAL_NUMBER.txt, dove NUMBER è il numero del file e TOTAL_NUMBER è il numero totale di file.

Schema del file di output dry run

I file di output di un recupero di prova utilizzano lo schema mostrato nella tabella seguente:

MESSAGE_ID TIMESTAMP
L'ID del messaggio HL7v2. L'ora in cui il messaggio HL7v2 è stato creato o aggiornato nell'archivio HL7v2.

Recupera in produzione

Prima di eseguire il recupero in produzione, esegui una simulazione e controlla i file di output della simulazione per assicurarti che il recupero in produzione venga eseguito come previsto.

Gli esempi riportati di seguito mostrano come ripristinare i messaggi HL7v2 in produzione utilizzando hl7V2Stores.rollback .

REST

  1. Recupera i messaggi HL7v2.

    Assicurati che la proprietà force è true.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio HL7v2
    • HL7V2_STORE_ID: l'ID store HL7v2
    • RECOVERY_TIMESTAMP: un punto di recupero negli ultimi 21 giorni. Utilizza il formato RFC 3339. Specifica l'ora al secondo e includi un fuso orario, ad esempio 2015-02-07T13:28:17.239+02:00 o 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: l'URI completo di una cartella o un bucket Cloud Storage in cui vengono scritti i file di output

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    cat > request.json << 'EOF'
    {
      "rollbackTime": "RECOVERY_TIMESTAMP",
      "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET",
      "force": "true"
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    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

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    @'
    {
      "rollbackTime": "RECOVERY_TIMESTAMP",
      "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET",
      "force": "true"
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $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

    Explorer API

    Copia il corpo della richiesta e apri pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Esplora API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila tutti gli altri campi obbligatori e fai clic su Esegui.

    L'output è il seguente. La risposta contiene un identificatore per un'operazione a lunga esecuzione (LRO). Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere più tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.

  2. Utilizza il metodo projects.locations.datasets.operations.get per ottenere lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • DATASET_ID: l'ID del set di dati
    • LOCATION: la posizione del set di dati
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    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

    Esegui questo comando:

    $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

    Explorer API

    Apri l'app pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.

    L'output è il seguente. Quando la risposta contiene "done": true, l'operazione a lunga esecuzione è terminata.

Visualizza i file di output del ripristino di produzione

Un ripristino di produzione restituisce i file seguenti. I file vengono creati in un sottocartella nella cartella rollback_messages nella destinazione nel bucket Cloud Storage. Il nome della sottocartella è l'ID LRO restituito nella Risposta hl7V2Stores.rollback. Per visualizzare i file, vedi Visualizza i metadati degli oggetti.

  • success-NUMBER-of-TOTAL_NUMBER.txt: contiene i messaggi HL7v2 recuperati correttamente.
  • fail-NUMBER-of-TOTAL_NUMBER.txt: contiene Messaggi HL7v2 che non è stato possibile recuperare. viene generato un file vuoto anche non ci siano errori.

Nei nomi del file, NUMBER è il numero del file e TOTAL_NUMBER è il numero totale di file.

Schema del file di output della produzione

I file di operazione riuscita e di errore di un ripristino di produzione usano quanto segue: . I file di errore contengono un'etichetta Colonna ERROR_MESSAGE.

MESSAGE_ID ERROR_MESSAGE (solo file di errore)
L'ID del messaggio HL7v2. Solo file di errore. Descrive perché il messaggio HL7v2 non è riuscito a essere recuperato.

usa i filtri per ripristinare uno stato precedente di un archivio HL7v2

Se un archivio HL7v2 è stato modificato da una o più operazioni a lunga esecuzione (LRO), è possibile specificare gli ID LRO in un filtro per ripristinare l'archivio HL7v2 allo stato precedente. Ad esempio, è possibile ripristinare un archivio HL7v2 il suo stato precedente prima che un'operazione di importazione importasse i messaggi HL7v2.

Devi specificare gli ID LRO nell'oggetto RollbackHL7MessagesFilteringFields durante l'invio una richiesta hl7V2Stores.rollback.

Consulta la sezione Elenco degli LRO per informazioni su come elencare e visualizzare gli ID LRO in un set di dati dell'API Cloud Healthcare.