Prosedur tersimpan REDACT_REVISION di Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Prosedur tersimpan REDACT_REVISION di Amazon QLDB

catatan

Buku besar apa pun yang dibuat sebelum 22 Juli 2021 saat ini tidak memenuhi syarat untuk redaksi. Anda dapat melihat waktu pembuatan buku besar Anda di konsol Amazon QLDB.

Di Amazon QLDB, gunakan prosedur yangREDACT_REVISION disimpan untuk menghapus revisi dokumen individual yang tidak aktif secara permanen di penyimpanan terindeks dan penyimpanan jurnal. Prosedur yang disimpan ini menghapus semua data pengguna dalam revisi yang ditentukan. Namun, ia meninggalkan urutan jurnal dan metadata dokumen, termasuk ID dokumen dan hash, tidak berubah. Operasi ini tidak dapat diubah.

Revisi dokumen yang ditentukan harus merupakan revisi tidak aktif dalam sejarah. Revisi aktif terbaru dari dokumen tidak memenuhi syarat untuk redaksi.

Setelah Anda mengirimkan permintaan redaksi dengan menjalankan prosedur tersimpan ini, QLDB memproses redaksi data secara asinkron. Setelah redaksi selesai, data pengguna dari revisi yang ditentukan (diwakili olehdata struktur) digantikan olehdataHash bidang baru. Nilai bidang ini adalah hash Amazon Ion daridata struktur yang dihapus. Akibatnya, buku besar mempertahankan integritas data secara keseluruhan dan tetap dapat diverifikasi secara kriptografis melalui operasi API verifikasi yang ada.

Untuk contoh operasi redaksi dengan data sampel, lihatContoh redaksi diMenyunting revisi dokumen.

catatan

Untuk mempelajari cara mengontrol akses untuk menjalankan perintah PartiQL ini pada tabel tertentu, lihatMemulai dengan mode izin standar di Amazon QLDB.

Pertimbangan dan batasan redaksi

Sebelum memulai redaksi data di Amazon QLDB, pastikan Anda meninjau pertimbangan dan batasan berikut:

  • Prosedur yangREDACT_REVISION disimpan menargetkan data pengguna Anda dalam revisi dokumen individu yang tidak aktif. Untuk menyunting beberapa revisi, Anda harus menjalankan prosedur yang disimpan satu kali untuk setiap revisi. Anda dapat menyunting satu revisi per transaksi.

  • Untuk menyunting bidang tertentu dalam revisi dokumen, Anda harus menggunakan pernyataan bahasa manipulasi data (DHTML) terpisah untuk memodifikasi revisi terlebih dahulu. Untuk informasi selengkapnya, lihat Menyunting bidang tertentu dalam revisi.

  • Setelah QLDB menerima permintaan redaksi, Anda tidak dapat membatalkan atau mengubah permintaan. Untuk mengonfirmasi apakah redaksi selesai, Anda dapat memeriksa apakahdata struktur revisi telah diganti dengandataHash bidang. Untuk mempelajari selengkapnya, lihat Memeriksa apakah redaksi selesai.

  • Redaksi tidak berdampak pada data QLDB yang direplikasi di luar layanan QLDB. Ini termasuk ekspor ke Amazon S3 dan streaming ke Amazon Kinesis Data Streams. Anda harus menggunakan metode retensi data lain untuk mengelola data apa pun yang disimpan di luar QLDB.

  • Redaksi tidak berdampak pada nilai literal dalam pernyataan PartiQL yang dicatat dalam jurnal. Sebagai praktik terbaik, Anda harus menjalankan pernyataan secara teratur dengan menggunakan pengganti variabel dan bukan nilai literal. Sebuah placeholder ditulis dalam jurnal sebagai tanda tanya (?), bukan informasi sensitif yang mungkin memerlukan redaksi.

    Untuk mempelajari cara menjalankan pernyataan PartiQL secara terprogram menggunakan driver QLDB, lihat tutorial untuk setiap bahasa pemrograman yang didukung diMemulai dengan driver.

Sintaksis

EXEC REDACT_REVISION `block-address`, 'table-id', 'document-id'

Pendapat

`blok-alamat `

Lokasi blok jurnal revisi dokumen yang akan disunting. Alamat adalah struktur Amazon Ion yang memiliki dua bidang:strandId dansequenceNo.

Ini adalah nilai literal Ion yang dilambangkan dengan backticks. Misalnya:

`{strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:17}`

Untuk mempelajari cara menemukan alamat blok, lihatMelakukan Kueri Metadata Dokumen.

'tabel-id'

ID unik dari tabel yang revisi dokumennya ingin Anda edit, dilambangkan dengan tanda kutip tunggal.

Untuk mempelajari cara menemukan ID tabel, lihatMenanyakan katalog sistem.

'dokumen-id'

ID dokumen unik dari revisi yang akan disunting, dilambangkan dengan tanda kutip tunggal.

Untuk mempelajari cara menemukan ID dokumen, lihatMelakukan Kueri Metadata Dokumen.

Nilai kembali

Struktur Amazon Ion yang merepresentasikan revisi dokumen yang akan diedit, dalam format berikut.

{ blockAddress: { strandId: String, sequenceNo: Int }, tableId: String, documentId: String, version: Int }
Kembali bidang struktur
  • blockAddress— Lokasi blok jurnal revisi yang akan disunting. Alamat terdiri dari dua bidang berikut.

    • strandId- ID unik untai jurnal yang berisi blok.

    • sequenceNo- Nomor indeks yang menentukan lokasi blok di dalam untai.

  • tableId- ID unik dari tabel yang revisi Anda menyunting.

  • documentId- ID dokumen unik dari revisi yang akan disunting.

  • version- Nomor versi revisi dokumen yang akan disunting.

Berikut ini adalah contoh.

{ blockAddress: { strandId: "CsRnx0RDoNK6ANEEePa1ov", sequenceNo: 134 }, tableId: "6GZumdHggklLdMGyQq9DNX", documentId: "IXlQPSbfyKMIIsygePeKrZ", version: 0 }

Contoh

EXEC REDACT_REVISION `{strandId:"7z2P0AyQKWD8oFYmGNhi8D", sequenceNo:7}`, '8F0TPCmdNQ6JTRpiLj2TmW', '05K8zpGYWynDlEOK5afDRc'