Halaman ini menjelaskan cara menggunakan pemulihan point-in-time (PITR) untuk memulihkan pesan HL7v2 di penyimpanan HL7v2 ke status dalam 21 hari terakhir. Anda dapat menggunakan PITR untuk memulihkan dari perubahan yang tidak diinginkan, seperti menghapus pesan HL7v2 secara tidak sengaja.
Sebelum memulai
Permintaan PITR dikategorikan sebagai permintaan operasi lanjutan dan ditagih sesuai dengan ketentuan. Sebelum menggunakan PITR, tinjau harga untuk permintaan operasi lanjutan.
Alur kerja pemulihan
Untuk memastikan pemulihan produksi berjalan seperti yang diharapkan, lakukan uji coba terlebih dahulu. Uji coba akan menghasilkan satu atau beberapa file yang berisi ID pesan HL7v2 yang akan dipulihkan. Verifikasi kebenaran file output sebelum menjalankan pemulihan lagi di produksi.
Untuk memulihkan pesan HL7v2 tertentu, atau memulihkan pesan HL7v2 sesuai dengan kriteria pemfilteran, tentukan filter.
Melakukan uji coba
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus sudah diberi izin berikut atau peran Identity and Access Management (IAM) berikut:
Izin
healthcare.hl7V2Stores.rollback
Peran
-
Healthcare HL7v2 Store Administrator
(
roles/healthcare.hl7V2StoreAdmin
)
Anda dapat meminta administrator untuk memberikan peran Identity and Access Management ini kepada Anda. Untuk mengetahui petunjuk tentang cara memberikan peran, lihat Mengelola akses atau Mengontrol akses ke resource Cloud Healthcare API. Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Sebelum memulihkan pesan HL7v2 dalam produksi, lakukan uji coba.
Contoh berikut menunjukkan cara melakukan uji coba
menggunakan metode
hl7V2Stores.rollback
.
Memulihkan pesan HL7v2.
Untuk melakukan uji coba, pastikan kolom
force
adalahfalse
.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: lokasi set dataLOCATION
: set data induk penyimpanan HL7v2DATASET_ID
: ID penyimpanan HL7v2HL7V2_STORE_ID
: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu hingga detik dan sertakan zona waktu, misalnyaRECOVERY_TIMESTAMP 2015-02-07T13:28:17.239+02:00
atau2017-01-01T00:00:00Z
.
: URI yang sepenuhnya memenuhi syarat ke folder atau bucket Cloud Storage tempat file output ditulisCLOUD_STORAGE_BUCKET
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:cat > request.json << 'EOF' { "rollbackTime": "
RECOVERY_TIMESTAMP ", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET ", "force": "false" } EOFKemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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"Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "rollbackTime": "
RECOVERY_TIMESTAMP ", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET ", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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 ContentSalin isi permintaan dan buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
OPERATION_ID
. Anda memerlukan nilai ini di langkah berikutnya.Respons
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: ID set dataDATASET_ID
: lokasi set dataLOCATION
: ID yang ditampilkan dari operasi yang berjalan lamaOPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Jalankan perintah berikut:
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 "Jalankan perintah berikut:
$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 ContentBuka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
"done": true
, operasi yang berjalan lama telah selesai.Respons
{ "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 " } }
Melihat file output uji coba
Setiap uji coba akan menghasilkan satu atau beberapa file yang berisi ID dan jenis pesan HL7v2
yang akan dipulihkan. File dibuat di subfolder dalam folder rollback_messages
di bucket Cloud Storage tujuan. Nama subfolder adalah ID LRO yang ditampilkan dalam
respons hl7V2Stores.rollback
. Untuk melihat file dan memastikan pemulihan berfungsi
seperti yang diharapkan, lihat
Melihat metadata objek.
Jumlah file sebanding dengan jumlah pesan HL7v2 yang dipulihkan.
Nama file menggunakan format trial-NUMBER-of-TOTAL_NUMBER.txt
,
dengan NUMBER
adalah nomor file dan TOTAL_NUMBER
adalah jumlah total file.
Skema file output uji coba
File output dari pemulihan uji coba menggunakan skema yang ditampilkan dalam tabel berikut:
MESSAGE_ID |
TIMESTAMP |
---|---|
ID pesan HL7v2. | Waktu saat pesan HL7v2 dibuat atau diperbarui di penyimpanan HL7v2. |
Memulihkan dalam produksi
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus sudah diberi izin berikut atau peran Identity and Access Management (IAM) berikut:
Izin
healthcare.hl7V2Stores.rollback
Peran
-
Healthcare HL7v2 Store Administrator
(
roles/healthcare.hl7V2StoreAdmin
)
Untuk menulis file output produksi ke Cloud Storage, Anda harus memberikan izin ke akun layanan Agen Layanan Cloud Healthcare. Untuk mendapatkan petunjuk, lihat Menulis file output ke Cloud Storage.
Anda dapat meminta administrator untuk memberikan peran Identity and Access Management ini kepada Anda. Untuk mengetahui petunjuk tentang cara memberikan peran, lihat Mengelola akses atau Mengontrol akses ke resource Cloud Healthcare API. Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Sebelum melakukan pemulihan dalam produksi, lakukan uji coba dan periksa file output uji coba untuk memastikan pemulihan produksi berjalan seperti yang diharapkan.
Contoh berikut menunjukkan cara memulihkan pesan HL7v2 dalam produksi
menggunakan metode
hl7V2Stores.rollback
.
Memulihkan pesan HL7v2.
Pastikan kolom
force
adalahtrue
.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: lokasi set dataLOCATION
: set data induk penyimpanan HL7v2DATASET_ID
: ID penyimpanan HL7v2HL7V2_STORE_ID
: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu hingga detik dan sertakan zona waktu, misalnyaRECOVERY_TIMESTAMP 2015-02-07T13:28:17.239+02:00
atau2017-01-01T00:00:00Z
.
: URI yang sepenuhnya memenuhi syarat ke folder atau bucket Cloud Storage tempat file output ditulisCLOUD_STORAGE_BUCKET
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:cat > request.json << 'EOF' { "rollbackTime": "
RECOVERY_TIMESTAMP ", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET ", "force": "true" } EOFKemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
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"Simpan isi permintaan dalam file bernama
request.json
. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:@' { "rollbackTime": "
RECOVERY_TIMESTAMP ", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET ", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$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 ContentSalin isi permintaan dan buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
OPERATION_ID
. Anda memerlukan nilai ini di langkah berikutnya.Respons
{ "name": "projects/
PROJECT_ID /locations/LOCATION /datasets/DATASET_ID /operations/OPERATION_ID " }Gunakan metode
projects.locations.datasets.operations.get
untuk mendapatkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: ID Google Cloud project AndaPROJECT_ID
: ID set dataDATASET_ID
: lokasi set dataLOCATION
: ID yang ditampilkan dari operasi yang berjalan lamaOPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
Jalankan perintah berikut:
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 "Jalankan perintah berikut:
$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 ContentBuka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
"done": true
, operasi yang berjalan lama telah selesai.Respons
{ "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 " } }
Melihat file output pemulihan produksi
Pemulihan produksi menghasilkan file berikut. File dibuat di subfolder dalam folder rollback_messages
di bucket Cloud Storage tujuan. Nama subfolder adalah ID LRO yang ditampilkan dalam
respons hl7V2Stores.rollback
. Untuk melihat file, lihat
Melihat metadata objek.
success-NUMBER-of-TOTAL_NUMBER.txt
: Berisi pesan HL7v2 yang berhasil dipulihkan.fail-NUMBER-of-TOTAL_NUMBER.txt
: Berisi pesan HL7v2 yang gagal dipulihkan. File kosong akan dibuat meskipun tidak ada kegagalan.
Dalam nama file, NUMBER
adalah nomor file, dan TOTAL_NUMBER
adalah jumlah total file.
Skema file output produksi
File sukses dan gagal dari pemulihan produksi menggunakan skema
berikut. File error berisi kolom ERROR_MESSAGE
tambahan.
MESSAGE_ID |
ERROR_MESSAGE (Khusus file error) |
---|---|
ID pesan HL7v2. | Khusus file error. Menjelaskan alasan pesan HL7v2 gagal dipulihkan. |
Menggunakan filter untuk memulihkan penyimpanan HL7v2 ke status sebelumnya
Jika penyimpanan HL7v2 diubah oleh satu atau beberapa operasi yang berjalan lama (LROs), Anda dapat menentukan ID LRO dalam filter untuk memulihkan penyimpanan HL7v2 ke status sebelumnya. Misalnya, Anda dapat memulihkan penyimpanan HL7v2 ke status sebelumnya sebelum operasi impor mengimpor pesan HL7v2.
Anda menentukan ID LRO di objek RollbackHL7MessagesFilteringFields
saat mengirim permintaan hl7V2Stores.rollback
.
Lihat Mencantumkan LRO untuk mengetahui informasi tentang cara mencantumkan dan melihat ID LRO di set data Cloud Healthcare API.