Questa pagina descrive come utilizzare il ripristino del punto nel tempo (PITR) per ripristinare i messaggi HL7v2 in un archivio HL7v2 a uno stato degli 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 il PITR, controlla i prezzi delle richieste di operazioni avanzate.
Flusso di lavoro di recupero
Per assicurarti che un recupero in produzione venga eseguito come previsto, esegui prima una prova. La prova simulata genera uno o più file contenenti gli ID dei messaggi HL7v2 da recuperare. Verifica la correttezza dei file di output prima di eseguire di nuovo il recupero in produzione.
Per recuperare messaggi HL7v2 specifici o messaggi HL7v2 in base a criteri di filtraggine, specifica un filtro.
Esegui una prova
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni o dei seguenti ruoli Identity and Access Management (IAM):
Autorizzazioni
healthcare.hl7V2Stores.rollback
Ruoli
-
Healthcare HL7v2 Store Administrator
(
roles/healthcare.hl7V2StoreAdmin
)
Puoi chiedere all'amministratore di concederti questi ruoli di Identity and Access Management. Per istruzioni su come concedere i ruoli, consulta Gestire l'accesso o Controllare l'accesso alle risorse dell'API Cloud Healthcare. Potresti anche riuscire a ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Prima di recuperare i messaggi HL7v2 in produzione, esegui una prova.
Gli esempi riportati di seguito mostrano come eseguire un dry run utilizzando il metodo hl7V2Stores.rollback
.
Recupera i messaggi HL7v2.
Per eseguire una prova, assicurati che il campo
force
siafalse
.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
: l'ID del tuo Google Cloud progettoPROJECT_ID
: la posizione del set di datiLOCATION
: il set di dati principale dell'archivio HL7v2DATASET_ID
: l'ID dell'archivio HL7v2HL7V2_STORE_ID
: un punto di ripristino negli ultimi 21 giorni. Utilizza il formato RFC 3339. Specifica l'ora fino al secondo e includi un fuso orario, ad esempioRECOVERY_TIMESTAMP 2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
.
: l'URI completo di una cartella o di un bucket Cloud Storage in cui vengono scritti i file di outputCLOUD_STORAGE_BUCKET
Per inviare la richiesta, scegli una delle seguenti opzioni:
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" } EOFQuindi, esegui il seguente 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"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 utf8Quindi, esegui il seguente 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 ContentCopia il corpo della richiesta e apri la 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.
OPERATION_ID
. Questo valore ti servirà nel passaggio successivo.Risposta
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
: l'ID del tuo Google Cloud progettoPROJECT_ID
: l'ID set di datiDATASET_ID
: la posizione del set di datiLOCATION
: l'ID restituito dall'operazione a lunga esecuzioneOPERATION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
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 "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 ContentApri la 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 i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata.Risposta
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.hl7v2.Hl7V2Service.RollbackHl7V2Messages", "createTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "endTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "logsUrl": "https://console.cloud.google.com/CLOUD_LOGGING_URL ", "counter": { "success": "SUCCESS_COUNT ", "failure": "FAILURE_COUNT " } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.RollbackHl7V2MessagesResponse", "hl7V2Store": "projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /hl7V2Stores/HL7V2_STORE_ID " } }
Visualizzare i file di output del 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 recupero funzioni come previsto, consulta Visualizzare 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 del dry run
I file di output di un recupero di prova utilizzano lo schema mostrato nella tabella seguente:
MESSAGE_ID |
TIMESTAMP |
---|---|
L'ID messaggio HL7v2. | La data e l'ora in cui il messaggio HL7v2 è stato creato o aggiornato nell'archivio HL7v2. |
Ripristino in produzione
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni o dei seguenti ruoli Identity and Access Management (IAM):
Autorizzazioni
healthcare.hl7V2Stores.rollback
Ruoli
-
Healthcare HL7v2 Store Administrator
(
roles/healthcare.hl7V2StoreAdmin
)
Per scrivere i file di output di produzione su Cloud Storage, devi concedere le autorizzazioni all'account di servizio Agente di servizio Cloud Healthcare. Per le istruzioni, consulta Scrivere i file di output in Cloud Storage.
Puoi chiedere all'amministratore di concederti questi ruoli di Identity and Access Management. Per istruzioni su come concedere i ruoli, consulta Gestire l'accesso o Controllare l'accesso alle risorse dell'API Cloud Healthcare. Potresti anche riuscire a ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
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 il metodo hl7V2Stores.rollback
.
Recupera i messaggi HL7v2.
Assicurati che il campo
force
siatrue
.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
: l'ID del tuo Google Cloud progettoPROJECT_ID
: la posizione del set di datiLOCATION
: il set di dati principale dell'archivio HL7v2DATASET_ID
: l'ID dell'archivio HL7v2HL7V2_STORE_ID
: un punto di ripristino negli ultimi 21 giorni. Utilizza il formato RFC 3339. Specifica l'ora fino al secondo e includi un fuso orario, ad esempioRECOVERY_TIMESTAMP 2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
.
: l'URI completo di una cartella o di un bucket Cloud Storage in cui vengono scritti i file di outputCLOUD_STORAGE_BUCKET
Per inviare la richiesta, scegli una delle seguenti opzioni:
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" } EOFQuindi, esegui il seguente 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"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 utf8Quindi, esegui il seguente 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 ContentCopia il corpo della richiesta e apri la 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.
OPERATION_ID
. Questo valore ti servirà nel passaggio successivo.Risposta
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
: l'ID del tuo Google Cloud progettoPROJECT_ID
: l'ID set di datiDATASET_ID
: la posizione del set di datiLOCATION
: l'ID restituito dall'operazione a lunga esecuzioneOPERATION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
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 "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 ContentApri la 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 i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata.Risposta
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.hl7v2.Hl7V2Service.RollbackHl7V2Messages", "createTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "endTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ ", "logsUrl": "https://console.cloud.google.com/CLOUD_LOGGING_URL ", "counter": { "success": "SUCCESS_COUNT ", "failure": "FAILURE_COUNT " } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.hl7v2.RollbackHl7V2MessagesResponse", "hl7V2Store": "projects/PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /hl7V2Stores/HL7V2_STORE_ID " } }
Visualizzare i file di output del recupero della produzione
Un recupero della produzione genera i seguenti file. 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, consulta
Visualizzare i metadati degli oggetti.
success-NUMBER-of-TOTAL_NUMBER.txt
: contiene i messaggi HL7v2 recuperati correttamente.fail-NUMBER-of-TOTAL_NUMBER.txt
: contiene i messaggi HL7v2 che non è stato possibile recuperare. Viene generato un file vuoto anche se non si verificano errori.
Nei nomi dei file, NUMBER
è il numero del file e TOTAL_NUMBER
è il numero totale di file.
Schema del file di output della produzione
I file di successo e di errore di un recupero della produzione utilizzano lo schema seguente. I file di errore contengono un'ulteriore colonna ERROR_MESSAGE
.
MESSAGE_ID |
ERROR_MESSAGE (solo file di errore) |
---|---|
L'ID messaggio HL7v2. | Solo file di errore. Descrive il motivo per cui non è stato possibile recuperare il messaggio HL7v2. |
Utilizzare i filtri per ripristinare uno stato precedente di un archivio HL7v2
Se un archivio HL7v2 è stato modificato da una o più operazioni a lungo termine (LRO), puoi specificare gli ID LRO in un filtro per ripristinare l'archivio HL7v2 allo stato precedente. Ad esempio, puoi ripristinare un archivio HL7v2 allo stato precedente prima che un'operazione di importazione importi i messaggi HL7v2.
Specifica gli ID LRO nell'oggetto RollbackHL7MessagesFilteringFields
quando invii una richiesta hl7V2Stores.rollback
.
Consulta la sezione Elenco delle richieste di organizzazione per informazioni su come elencare e visualizzare gli ID RLO in un set di dati dell'API Cloud Healthcare.