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

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

Sebelum memulihkan pesan HL7v2 dalam produksi, lakukan uji coba.

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

REST

  1. Memulihkan pesan HL7v2.

    Untuk melakukan uji coba, pastikan kolom 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 penyimpanan HL7v2
    • RECOVERY_TIMESTAMP: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu hingga 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 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.

    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di 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 API Explorer 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, operasi yang berjalan lama telah selesai.

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

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.

REST

  1. Memulihkan pesan HL7v2.

    Pastikan kolom 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 penyimpanan HL7v2
    • RECOVERY_TIMESTAMP: titik pemulihan dalam 21 hari terakhir. Gunakan format RFC 3339. Tentukan waktu hingga 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 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.

    Output-nya adalah sebagai berikut. Respons berisi ID untuk operasi yang berjalan lama (LRO). Operasi yang berjalan lama ditampilkan saat panggilan metode mungkin memerlukan waktu tambahan untuk diselesaikan. Perhatikan nilai OPERATION_ID. Anda memerlukan nilai ini di 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 API Explorer 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, operasi yang berjalan lama telah selesai.

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.