Pulihkan pesan HL7v2 dengan pemulihan point-in-time (PITR)

Halaman ini menjelaskan cara menggunakan pemulihan point-in-time (PITR) untuk memulihkan HL7v2 pesan 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 akan dikenai biaya sebagaimana mestinya. 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 menghasilkan satu atau beberapa file yang berisi ID Pesan HL7v2 yang akan dipulihkan. Verifikasi keakuratan file output sebelum menjalankan pemulihan lagi dalam produksi.

Untuk memulihkan pesan HL7v2 tertentu, atau memulihkan pesan HL7v2 sesuai dengan penyaringan menentukan filter.

Lakukan latihan kering

Sebelum memulihkan pesan HL7v2 dalam produksi, lakukan uji coba.

Contoh berikut menunjukkan cara melakukan uji coba menggunakan hl7V2Stores.rollback .

REST

  1. Pulihkan pesan HL7v2.

    Untuk melakukan uji coba, pastikan force adalah false.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • LOCATION: lokasi set data
    • DATASET_ID: set data induk penyimpanan HL7v2
    • HL7V2_STORE_ID: ID toko HL7v2
    • RECOVERY_TIMESTAMP: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu ke detik dan sertakan zona waktu, misalnya 2015-02-07T13:28:17.239+02:00 atau 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: URI yang sepenuhnya memenuhi syarat ke folder atau bucket Cloud Storage tempat file output ditulis

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    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"
    }
    EOF

    Kemudian, 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"

    PowerShell

    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 utf8

    Kemudian 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 Content

    APIs Explorer

    Salin isi permintaan dan buka halaman referensi metode. Panel APIs Explorer akan 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.

    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama akan ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini pada langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DATASET_ID: ID set data
    • LOCATION: lokasi set data
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    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"

    PowerShell

    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 Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya adalah sebagai berikut. Jika respons berisi "done": true, elemen yang berjalan lama telah selesai.

Melihat file output uji coba

Setiap uji coba menghasilkan satu atau beberapa file yang berisi ID dan jenis HL7v2 pesan untuk dipulihkan. File dibuat di subfolder dalam folder rollback_messages di tujuan bucket Cloud Storage. Nama subfolder adalah ID LRO yang ditampilkan di Respons hl7V2Stores.rollback. Untuk melihat file dan memastikan pemulihan berfungsi sesuai 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 ditunjukkan dalam tabel berikut:

MESSAGE_ID TIMESTAMP
ID pesan HL7v2. Waktu saat pesan HL7v2 dibuat atau diperbarui di penyimpanan HL7v2.

Pulihkan dalam produksi

Sebelum memulihkan dalam produksi, lakukan uji coba dan periksa dry run file output untuk memastikan pemulihan produksi berjalan seperti yang diharapkan.

Contoh berikut menunjukkan cara memulihkan pesan HL7v2 dalam produksi menggunakan hl7V2Stores.rollback .

REST

  1. Pulihkan pesan HL7v2.

    Memastikan force adalah true.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • LOCATION: lokasi set data
    • DATASET_ID: set data induk penyimpanan HL7v2
    • HL7V2_STORE_ID: ID toko HL7v2
    • RECOVERY_TIMESTAMP: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu ke detik dan sertakan zona waktu, misalnya 2015-02-07T13:28:17.239+02:00 atau 2017-01-01T00:00:00Z.
    • CLOUD_STORAGE_BUCKET: URI yang sepenuhnya memenuhi syarat ke folder atau bucket Cloud Storage tempat file output ditulis

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    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"
    }
    EOF

    Kemudian, 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"

    PowerShell

    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 utf8

    Kemudian 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 Content

    APIs Explorer

    Salin isi permintaan dan buka halaman referensi metode. Panel APIs Explorer akan 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.

    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama akan ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini pada langkah berikutnya.

  2. Gunakan metode projects.locations.datasets.operations.get untuk mendapatkan status operasi yang berjalan lama.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project Google Cloud Anda
    • DATASET_ID: ID set data
    • LOCATION: lokasi set data
    • OPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    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"

    PowerShell

    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 Content

    APIs Explorer

    Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.

    Output-nya adalah sebagai berikut. Jika respons berisi "done": true, elemen yang berjalan lama telah selesai.

Melihat file output pemulihan produksi

Pemulihan produksi akan menghasilkan file berikut. File dibuat di subfolder dalam folder rollback_messages di tujuan bucket Cloud Storage. Nama subfolder adalah ID LRO yang ditampilkan di 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 keberhasilan dan kegagalan dari pemulihan produksi menggunakan skema. File error berisi elemen Kolom ERROR_MESSAGE.

MESSAGE_ID ERROR_MESSAGE (Hanya file error)
ID pesan HL7v2. Hanya file error. Menjelaskan alasan pesan HL7v2 gagal dipulihkan.

Menggunakan filter untuk memulihkan penyimpanan HL7v2 ke status sebelumnya

Jika penyimpanan HL7v2 dimodifikasi oleh satu atau beberapa operasi yang berjalan lama (LLO), Anda dapat menentukan ID LRO dalam filter untuk memulihkan penyimpanan HL7v2 ke kondisi sebelumnya. Misalnya, Anda dapat memulihkan penyimpanan HL7v2 ke keadaan sebelumnya sebelum operasi impor mengimpor pesan HL7v2.

Anda menentukan ID LRO dalam objek RollbackHL7MessagesFilteringFields saat mengirim permintaan hl7V2Stores.rollback.

Lihat Mencantumkan LLO untuk mendapatkan informasi tentang cara mencantumkan dan melihat ID LRO dalam set data Cloud Healthcare API.