Esta página descreve como usar a recuperação pontual (PITR, na sigla em inglês) para recuperar o HL7v2 mensagens em um armazenamento HL7v2 em um estado nos últimos 21 dias. Você pode usar PITR para a recuperação de alterações indesejadas, como a exclusão acidental de mensagens de HL7v2.
Antes de começar
As solicitações PITR são categorizadas como solicitações de operação avançada e são cobradas de acordo. Antes de usar a PITR, revise o preço de solicitações de operação avançada.
Fluxo de trabalho de recuperação
Para garantir que uma recuperação de produção seja executada conforme o esperado, primeiro faça uma simulação. A simulação gera um ou mais arquivos contendo os IDs dos Mensagens de HL7v2 a serem recuperadas. Verifique se os arquivos de saída estão corretos antes de executando a recuperação novamente em produção.
Recuperar mensagens HL7v2 específicas ou recuperar mensagens de HL7v2 de acordo com uma filtragem critérios, especifique um filtro.
Fazer uma simulação
Antes de recuperar mensagens de HL7v2 na produção, faça uma simulação.
Os exemplos a seguir mostram como fazer uma simulação
usando o hl7V2Stores.rollback
.
REST
Recupere as mensagens de HL7v2.
Para fazer uma simulação, verifique se o
force
éfalse
.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;LOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de HL7v2HL7V2_STORE_ID
: o ID da loja de HL7v2RECOVERY_TIMESTAMP
: um ponto de recuperação nos últimos 21 dias. Use o formato RFC 3339. Especifique o horário do 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 bucket do Cloud Storage em que os arquivos de saída são gravados
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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 ContentAPIs Explorer
Copie o corpo da solicitação e abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
OPERATION_ID
. Você vai precisar desse valor na próxima etapa.Use o método
projects.locations.datasets.operations.get
para ver o status da operação de longa duração.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;DATASET_ID
: o ID do conjunto de dados;LOCATION
: o local do conjunto de dados;OPERATION_ID
: o ID retornado da operação de longa duração.
Para enviar a solicitação, 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 ContentAPIs Explorer
Abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, o operação de longa duração foi concluída.
Conferir arquivos de saída de simulação
Cada simulação gera um ou mais arquivos com os IDs e os tipos do HL7v2
mensagens a serem recuperadas. Os arquivos são criados em uma subpasta na pasta rollback_messages
no destino.
do bucket do Cloud Storage. O nome da subpasta é o ID da LRO retornado
hl7V2Stores.rollback
. Para acessar os arquivos e garantir que a recuperação funcione
conforme esperado, consulte
Exibir metadados do objeto.
O número de arquivos é proporcional ao número de mensagens de HL7v2 recuperadas.
Os nomes de arquivo usam o formato trial-NUMBER-of-TOTAL_NUMBER.txt
,
em que NUMBER
é o número do arquivo e TOTAL_NUMBER
é o número total de arquivos.
Esquema do arquivo de saída de simulação
Os arquivos de saída de uma recuperação de simulação usam o esquema mostrado tabela a seguir:
MESSAGE_ID |
TIMESTAMP |
---|---|
O ID da mensagem HL7v2. | A hora em que a mensagem HL7v2 foi criada ou atualizada no armazenamento HL7v2. |
Recuperar na produção
Antes da recuperação na produção, faça uma simulação e inspecione o os arquivos de saída de simulação para garantir que a recuperação de produção seja executada conforme o esperado.
Os exemplos a seguir mostram como restaurar mensagens de HL7v2 na produção
usando o hl7V2Stores.rollback
.
REST
Recupere as mensagens de HL7v2.
Verifique se o
force
étrue
.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;LOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de HL7v2HL7V2_STORE_ID
: o ID da loja de HL7v2RECOVERY_TIMESTAMP
: um ponto de recuperação nos últimos 21 dias. Use o formato RFC 3339. Especifique o horário do 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 bucket do Cloud Storage em que os arquivos de saída são gravados
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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 ContentAPIs Explorer
Copie o corpo da solicitação e abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
OPERATION_ID
. Você vai precisar desse valor na próxima etapa.Use o método
projects.locations.datasets.operations.get
para ver o status da operação de longa duração.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;DATASET_ID
: o ID do conjunto de dados;LOCATION
: o local do conjunto de dados;OPERATION_ID
: o ID retornado da operação de longa duração.
Para enviar a solicitação, 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 ContentAPIs Explorer
Abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, o operação de longa duração foi concluída.
Ver arquivos de saída de recuperação de produção
Uma recuperação de produção gera os arquivos a seguir. Os arquivos são criados
na pasta rollback_messages
do bucket de destino
do bucket do Cloud Storage. O nome da subpasta é o ID da LRO retornado
hl7V2Stores.rollback
. Para acessar os arquivos, consulte
Exibir metadados do objeto.
success-NUMBER-of-TOTAL_NUMBER.txt
: contém mensagens de HL7v2 recuperadas.fail-NUMBER-of-TOTAL_NUMBER.txt
: contém Mensagens de HL7v2 que não foram recuperadas. Um arquivo vazio será gerado mesmo se que não haja falhas.
Nos nomes dos arquivos, NUMBER
é o número, e TOTAL_NUMBER
é o número total de arquivos.
Esquema do arquivo de saída de Production
Os arquivos de sucesso e falha de uma recuperação de produção usam os seguintes
esquema. Os arquivos de erro contêm
ERROR_MESSAGE
.
MESSAGE_ID |
ERROR_MESSAGE (somente arquivos de erro) |
---|---|
O ID da mensagem HL7v2. | Somente arquivos de erro. Descreve por que a mensagem de HL7v2 não foi recuperada. |
Usar filtros para restaurar um armazenamento de HL7v2 para um estado anterior
Se um armazenamento HL7v2 tiver sido modificado por uma ou mais operações de longa duração (LROs, na sigla em inglês), especifique os IDs de LRO em um filtro para restaurar o armazenamento de HL7v2 ao estado anterior. Por exemplo, é possível restaurar um armazenamento HL7v2 para o estado anterior, antes de uma operação de importação importar mensagens HL7v2.
Você especifica os IDs de LRO no objeto RollbackHL7MessagesFilteringFields
ao enviar
uma solicitação hl7V2Stores.rollback
.
Consulte Como listar LROs para informações sobre como listar e visualizar IDs da LRO em um conjunto de dados da API Cloud Healthcare.