Esta página descreve como usar a recuperação num ponto específico no tempo (PITR) para recuperar mensagens HL7v2 num arquivo HL7v2 para um estado nos últimos 21 dias. Pode usar a PITR para recuperar de alterações indesejadas, como a eliminação acidental de mensagens HL7v2.
Antes de começar
Os pedidos PITR são categorizados como pedidos de operação avançados e são faturados em conformidade. Antes de usar a PITR, reveja os preços dos pedidos de operações avançadas.
Fluxo de trabalho de recuperação
Para garantir que uma recuperação de produção é executada conforme esperado, faça primeiro um teste. A execução de teste produz um ou mais ficheiros que contêm os IDs das mensagens HL7v2 a recuperar. Valide a correção dos ficheiros de saída antes de executar novamente a recuperação em produção.
Para recuperar mensagens HL7v2 específicas ou recuperar mensagens HL7v2 de acordo com critérios de filtragem, especifique um filtro.
Faça uma execução de ensaio
Antes de recuperar mensagens HL7v2 em produção, faça um teste de simulação.
Os exemplos seguintes mostram como fazer um teste de execução
usando o método hl7V2Stores.rollback
.
REST
Recuperar as mensagens HL7v2.
Para fazer um teste, certifique-se de que o campo
force
estáfalse
.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do armazenamento de HL7v2HL7V2_STORE_ID
: o ID do armazenamento de HL7v2RECOVERY_TIMESTAMP
: um ponto de recuperação nos últimos 21 dias. Use o formato RFC 3339. Especifique a hora até ao segundo e inclua um fuso horário, por exemplo,2015-02-07T13:28:17.239+02:00
ou2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: o URI totalmente qualificado para uma pasta ou um contentor do Cloud Storage onde os ficheiros de saída são escritos
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
OPERATION_ID
. Precisa deste valor no passo seguinte.Use o método
projects.locations.datasets.operations.get
para obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoDATASET_ID
: o ID do conjunto de dadosLOCATION
: a localização do conjunto de dadosOPERATION_ID
: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte 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
Execute o seguinte 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 APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, a operação de longa duração terminou.
Veja os ficheiros de saída da execução de ensaio
Cada teste de execução produz um ou mais ficheiros que contêm os IDs e os tipos das mensagens HL7v2 a recuperar. Os ficheiros são criados numa subpasta na pasta rollback_messages
no contentor do Cloud Storage de destino. O nome da subpasta é o ID da LRO devolvido na resposta hl7V2Stores.rollback
. Para ver os ficheiros e garantir que a recuperação funciona conforme esperado, consulte o artigo Ver metadados de objetos.
O número de ficheiros é proporcional ao número de mensagens HL7v2 recuperadas.
Os nomes dos ficheiros usam o formato trial-NUMBER-of-TOTAL_NUMBER.txt
, em que NUMBER
é o número do ficheiro e TOTAL_NUMBER
é o número total de ficheiros.
Esquema do ficheiro de saída da execução de ensaio
Os ficheiros de saída de uma recuperação de teste usam o esquema apresentado na tabela seguinte:
MESSAGE_ID |
TIMESTAMP |
---|---|
O ID da mensagem HL7v2. | A hora em que a mensagem HL7v2 foi criada ou atualizada no armazenamento HL7v2. |
Recupere em produção
Antes de fazer a recuperação em produção, faça um teste de simulação e inspecione os ficheiros de saída do teste de simulação para garantir que a recuperação de produção é executada conforme esperado.
Os exemplos seguintes mostram como restaurar mensagens HL7v2 em produção
usando o método hl7V2Stores.rollback
.
REST
Recuperar as mensagens HL7v2.
Certifique-se de que o campo
force
estátrue
.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoLOCATION
: a localização do conjunto de dadosDATASET_ID
: o conjunto de dados principal do armazenamento de HL7v2HL7V2_STORE_ID
: o ID do armazenamento de HL7v2RECOVERY_TIMESTAMP
: um ponto de recuperação nos últimos 21 dias. Use o formato RFC 3339. Especifique a hora até ao segundo e inclua um fuso horário, por exemplo,2015-02-07T13:28:17.239+02:00
ou2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: o URI totalmente qualificado para uma pasta ou um contentor do Cloud Storage onde os ficheiros de saída são escritos
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
OPERATION_ID
. Precisa deste valor no passo seguinte.Use o método
projects.locations.datasets.operations.get
para obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu Google Cloud projetoDATASET_ID
: o ID do conjunto de dadosLOCATION
: a localização do conjunto de dadosOPERATION_ID
: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte 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
Execute o seguinte 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 APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, a operação de longa duração terminou.
Veja os ficheiros de saída da recuperação de produção
Uma recuperação de produção gera os seguintes ficheiros. Os ficheiros são criados numa subpasta na pasta rollback_messages
no contentor do Cloud Storage de destino. O nome da subpasta é o ID da LRO devolvido na resposta hl7V2Stores.rollback
. Para ver os ficheiros, consulte o artigo
Ver metadados de objetos.
success-NUMBER-of-TOTAL_NUMBER.txt
: contém mensagens de HL7v2 recuperadas com êxito.fail-NUMBER-of-TOTAL_NUMBER.txt
: contém mensagens HL7v2 que não foram recuperadas. É gerado um ficheiro vazio mesmo que não existam falhas.
Nos nomes dos ficheiros, NUMBER
é o número do ficheiro e TOTAL_NUMBER
é o número total de ficheiros.
Esquema do ficheiro de saída de produção
Os ficheiros de êxito e falha de uma recuperação de produção usam o seguinte esquema. Os ficheiros de erro contêm uma coluna ERROR_MESSAGE
adicional.
MESSAGE_ID |
ERROR_MESSAGE (apenas ficheiros com erros) |
---|---|
O ID da mensagem HL7v2. | Apenas ficheiros de erro. Descreve o motivo pelo qual não foi possível recuperar a mensagem HL7v2. |
Use filtros para restaurar um armazenamento HL7v2 para um estado anterior
Se um armazenamento de HL7v2 foi modificado por uma ou mais operações de longa duração (LROs), pode especificar os IDs das LROs num filtro para restaurar o armazenamento de HL7v2 para o estado anterior. Por exemplo, pode restaurar um arquivo HL7v2 para o respetivo estado anterior antes de uma operação de importação importar mensagens HL7v2.
Especifica os IDs de LRO no objeto RollbackHL7MessagesFilteringFields
quando envia um pedido hl7V2Stores.rollback
.
Consulte o artigo Apresentar LROs em lista para obter informações sobre como apresentar em lista e ver IDs de LROs num conjunto de dados da Cloud Healthcare API.