En esta página, se describe cómo usar la recuperación de un momento determinado (PITR) para recuperar mensajes de HL7v2 en un almacén de HL7v2 a un estado dentro de los últimos 21 días. Puedes usar la PITR para recuperarte de cambios no deseados, como borrar accidentalmente mensajes de HL7v2.
Antes de comenzar
Las solicitudes de PITR se clasifican como solicitudes de operaciones avanzadas y se facturan según corresponda. Antes de usar la PITR, revisa los precios de las solicitudes de operaciones avanzadas.
Flujo de trabajo de recuperación
Para asegurarte de que una recuperación de producción se ejecute como se espera, primero realiza una ejecución de prueba. La prueba sin conexión genera uno o más archivos que contienen los IDs de los mensajes HL7v2 que se recuperarán. Verifica la exactitud de los archivos de salida 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.
Realiza una ejecución de prueba
Antes de recuperar mensajes HL7v2 en producción, realiza una prueba.
En los siguientes ejemplos, se muestra cómo realizar una prueba preliminar con el método hl7V2Stores.rollback
.
REST
Recupera los mensajes HL7v2.
Para realizar una prueba de validación, asegúrate de que el campo
force
seafalse
.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
El ID de tu proyecto de Google Cloud.LOCATION
: La ubicación del conjunto de datosDATASET_ID
: El conjunto de datos superior del almacén de HL7v2HL7V2_STORE_ID
es el ID del almacén de HL7v2.RECOVERY_TIMESTAMP
: Un punto de recuperación dentro de los últimos 21 días. Usa el formato RFC 3339. Especifica la hora hasta el segundo y, luego, incluye una zona horaria, por ejemplo,2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: Es el URI completamente calificado a una carpeta o un bucket 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 comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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 comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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 API
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel del Explorador de API 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, completa cualquier otro campo obligatorio y haz clic en Ejecutar.
OPERATION_ID
. Necesitarás este valor en el paso siguiente.Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
El ID de tu proyecto de Google Cloud.DATASET_ID
: El ID del conjunto de datosLOCATION
: La ubicación del conjunto de datosOPERATION_ID
: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó.
Cómo ver los archivos de salida de la ejecución de prueba
Cada prueba sin conexión genera uno o más archivos que contienen los IDs y los tipos de los mensajes de HL7v2 que se recuperarán. Los archivos se crean en una subcarpeta de la carpeta rollback_messages
en el bucket de Cloud Storage de destino. El nombre de la subcarpeta es el ID de LRO que se muestra en la respuesta de hl7V2Stores.rollback
. Para ver los archivos y asegurarte de que la recuperación funcione como se espera, consulta Visualiza los metadatos de objetos.
La cantidad de archivos es proporcional a la cantidad de mensajes de HL7v2 recuperados.
Los nombres de archivo usan el formato trial-NUMBER-of-TOTAL_NUMBER.txt
, en el que NUMBER
es el número de archivo y TOTAL_NUMBER
es la cantidad 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 de HL7v2. | La hora en la que se creó o actualizó el mensaje HL7v2 en el almacén HL7v2. |
Cómo recuperar en producción
Antes de realizar la recuperación en producción, realiza una prueba sin conexión y, luego, inspecciona los archivos de salida de la prueba sin conexión para asegurarte de que la recuperación de producción se ejecute como se espera.
En los siguientes ejemplos, se muestra cómo restablecer mensajes de HL7v2 en producción con el método hl7V2Stores.rollback
.
REST
Recupera los mensajes HL7v2.
Asegúrate de que el campo
force
seatrue
.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
El ID de tu proyecto de Google Cloud.LOCATION
: La ubicación del conjunto de datosDATASET_ID
: El conjunto de datos superior del almacén de HL7v2HL7V2_STORE_ID
es el ID del almacén de HL7v2.RECOVERY_TIMESTAMP
: Un punto de recuperación dentro de los últimos 21 días. Usa el formato RFC 3339. Especifica la hora hasta el segundo y, luego, incluye una zona horaria, por ejemplo,2015-02-07T13:28:17.239+02:00
o2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: Es el URI completamente calificado a una carpeta o un bucket 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 comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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 comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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 API
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel del Explorador de API 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, completa cualquier otro campo obligatorio y haz clic en Ejecutar.
OPERATION_ID
. Necesitarás este valor en el paso siguiente.Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
El ID de tu proyecto de Google Cloud.DATASET_ID
: El ID del conjunto de datosLOCATION
: La ubicación del conjunto de datosOPERATION_ID
: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó.
Cómo ver los archivos de salida de la recuperación de producción
Una recuperación de producción genera los siguientes archivos. Los archivos se crean en una
subcarpeta de la carpeta rollback_messages
en el bucket de Cloud Storage
de destino. El nombre de la subcarpeta es el ID de LRO que se muestra en la respuesta de hl7V2Stores.rollback
. Para ver los archivos, consulta Visualiza metadatos de objetos.
success-NUMBER-of-TOTAL_NUMBER.txt
: Contiene mensajes de HL7v2 recuperados correctamente.fail-NUMBER-of-TOTAL_NUMBER.txt
: Contiene mensajes de HL7v2 que no se pudieron recuperar. Se genera un archivo vacío incluso si no hay fallas.
En los nombres de archivo, NUMBER
es el número de archivo y TOTAL_NUMBER
es la cantidad total de archivos.
Esquema del archivo de salida de producción
Los archivos de éxito y error de una recuperación de producción usan el siguiente esquema. Los archivos de error contienen una columna ERROR_MESSAGE
adicional.
MESSAGE_ID |
ERROR_MESSAGE (solo archivos de error) |
---|---|
El ID del mensaje de HL7v2. | Solo archivos de error. Describe por qué no se pudo recuperar el mensaje de HL7v2. |
Usa filtros para restablecer un almacén de HL7v2 a un estado anterior
Si una o más operaciones de larga duración (LROs) modificaron un almacén de HL7v2, puedes especificar los IDs de LRO en un filtro para restablecer el almacén de HL7v2 a su estado anterior. Por ejemplo, puedes restablecer un almacén de HL7v2 a su estado anterior antes de que una operación de importación importe mensajes de HL7v2.
Especifica los IDs de LRO en el objeto RollbackHL7MessagesFilteringFields
cuando envías una solicitud hl7V2Stores.rollback
.
Consulta Cómo enumerar LRO para obtener información sobre cómo enumerar y ver los IDs de LRO en un conjunto de datos de la API de Cloud Healthcare.