En esta página se describe cómo usar la recuperación a un momento dado (PITR) para recuperar mensajes HL7v2 de un almacén HL7v2 a un estado de los últimos 21 días. Puedes usar PITR para recuperarte de cambios no deseados, como la eliminación accidental de mensajes HL7v2.
Antes de empezar
Las solicitudes de PITR se clasifican como solicitudes de operaciones avanzadas y se facturan en consecuencia. Antes de usar PITR, consulta los precios de las solicitudes de operaciones avanzadas.
Flujo de trabajo de recuperación
Para asegurarte de que la recuperación de producción se realiza correctamente, primero haz una prueba de funcionamiento. La prueba genera uno o varios archivos que contienen los IDs de los mensajes HL7v2 que se van a recuperar. Verifica que los archivos de salida sean correctos antes de volver a ejecutar la recuperación en producción.
Para recuperar mensajes HL7v2 específicos o recuperar mensajes HL7v2 según un criterio de filtrado, especifica un filtro.
Hacer una prueba
Antes de recuperar mensajes HL7v2 en producción, haz una prueba de funcionamiento.
En los siguientes ejemplos se muestra cómo hacer una prueba sin ejecutar
con el método hl7V2Stores.rollback
.
REST
Recupera los mensajes HL7v2.
Para hacer una prueba de funcionamiento, asegúrate de que el campo
force
estéfalse
.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu Google Cloud proyectoLOCATION
: la ubicación del conjunto de datosDATASET_ID
: el conjunto de datos superior del almacén HL7v2HL7V2_STORE_ID
: el ID del almacén HL7v2RECOVERY_TIMESTAMP
: un punto de recuperación de los últimos 21 días. Usa el formato RFC 3339. Especifica la hora hasta el segundo e incluye una zona horaria (por ejemplo,2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
).CLOUD_STORAGE_BUCKET
: el URI completo de una carpeta o un segmento de Cloud Storage en el que se escriben los archivos de salida
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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 ContentExplorador de APIs
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.
OPERATION_ID
. Necesitarás este valor en el siguiente paso.Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu Google Cloud proyectoDATASET_ID
: el ID del conjunto de datosLOCATION
: la ubicación del conjunto de datosOPERATION_ID
: el ID devuelto por la operación de larga duración
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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 ContentExplorador de APIs
Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.
"done": true
, la operación de larga duración ha finalizado.
Ver los archivos de salida de la prueba
Cada prueba genera uno o varios archivos que contienen los IDs y los tipos de los mensajes HL7v2 que se van a recuperar. Los archivos se crean en una subcarpeta de la carpeta rollback_messages
del segmento de Cloud Storage de destino. El nombre de la subcarpeta es el ID de la operación de larga duración que se devuelve en la respuesta de hl7V2Stores.rollback
. Para ver los archivos y asegurarte de que la recuperación funciona
como se espera, consulta Ver metadatos de objetos.
El número de archivos es proporcional al número de mensajes HL7v2 recuperados.
Los nombres de los archivos siguen el formato trial-NUMBER-of-TOTAL_NUMBER.txt
,
donde NUMBER
es el número del archivo y TOTAL_NUMBER
es el número total de archivos.
Esquema del archivo de salida de la ejecución de prueba
Los archivos de salida de una recuperación de prueba usan el esquema que se muestra en la siguiente tabla:
MESSAGE_ID |
TIMESTAMP |
---|---|
El ID del mensaje HL7v2. | La hora en la que se creó o actualizó el mensaje HL7v2 en el almacén HL7v2. |
Recuperación en producción
Antes de realizar la recuperación en producción, haz una prueba de funcionamiento e inspecciona los archivos de salida de la prueba para asegurarte de que la recuperación en producción se ejecuta correctamente.
En los siguientes ejemplos se muestra cómo restaurar mensajes HL7v2 en producción mediante el método hl7V2Stores.rollback
.
REST
Recupera los mensajes HL7v2.
Asegúrate de que el campo
force
seatrue
.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu Google Cloud proyectoLOCATION
: la ubicación del conjunto de datosDATASET_ID
: el conjunto de datos superior del almacén HL7v2HL7V2_STORE_ID
: el ID del almacén HL7v2RECOVERY_TIMESTAMP
: un punto de recuperación de los últimos 21 días. Usa el formato RFC 3339. Especifica la hora hasta el segundo e incluye una zona horaria (por ejemplo,2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
).CLOUD_STORAGE_BUCKET
: el URI completo de una carpeta o un segmento de Cloud Storage en el que se escriben los archivos de salida
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el siguiente comando en el terminal para crear o sobrescribir este archivo en el directorio actual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
A continuación, ejecuta el siguiente comando para enviar tu solicitud 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 ContentExplorador de APIs
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.
OPERATION_ID
. Necesitarás este valor en el siguiente paso.Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: el ID de tu Google Cloud proyectoDATASET_ID
: el ID del conjunto de datosLOCATION
: la ubicación del conjunto de datosOPERATION_ID
: el ID devuelto por la operación de larga duración
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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 ContentExplorador de APIs
Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.
"done": true
, la operación de larga duración ha finalizado.
Ver los archivos de salida de recuperación de producción
La recuperación de una producción genera los siguientes archivos. Los archivos se crean en una subcarpeta de la carpeta rollback_messages
del segmento de Cloud Storage de destino. El nombre de la subcarpeta es el ID de la operación de larga duración que se devuelve en la respuesta de hl7V2Stores.rollback
. Para ver los archivos, consulta Ver metadatos de objetos.
success-NUMBER-of-TOTAL_NUMBER.txt
: contiene los mensajes HL7v2 recuperados correctamente.fail-NUMBER-of-TOTAL_NUMBER.txt
: contiene mensajes HL7v2 que no se han podido recuperar. Se genera un archivo vacío aunque no haya fallos.
En los nombres de los archivos, NUMBER
es el número de archivo y TOTAL_NUMBER
es el número total de archivos.
Esquema del archivo de salida de producción
Los archivos de éxito y de error de una recuperación de producción usan el siguiente esquema. Los archivos de errores contienen una columna ERROR_MESSAGE
adicional.
MESSAGE_ID |
ERROR_MESSAGE (solo archivos de error) |
---|---|
El ID del mensaje HL7v2. | Solo archivos de error. Describe por qué no se ha podido recuperar el mensaje HL7v2. |
Usar filtros para restaurar un almacén HL7v2 a un estado anterior
Si se ha modificado un almacén HL7v2 mediante una o varias operaciones de larga duración (OLDs), puedes especificar los IDs de las OLDs en un filtro para restaurar el almacén HL7v2 a su estado anterior. Por ejemplo, puedes restaurar un almacén HL7v2 a su estado anterior antes de que una operación de importación importara mensajes HL7v2.
Los IDs de las operaciones de larga duración se especifican en el objeto RollbackHL7MessagesFilteringFields
al enviar una solicitud hl7V2Stores.rollback
.
Consulta Listar operaciones LRO para obtener información sobre cómo listar y ver los IDs de las operaciones LRO en un conjunto de datos de la API Cloud Healthcare.