Meminta metadata dokumen - Database Buku Besar Amazon Quantum (AmazonQLDB)

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

Meminta metadata dokumen

penting

Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi QLDB Buku Besar Amazon ke Amazon Aurora Postgre. SQL

INSERTPernyataan membuat revisi awal dokumen dengan nomor versi nol. Untuk mengidentifikasi setiap dokumen secara unik, Amazon QLDB menetapkan ID dokumen sebagai bagian dari metadata.

Selain ID dokumen dan nomor versi, QLDB menyimpan metadata lain yang dihasilkan sistem untuk setiap dokumen dalam tabel. Metadata ini mencakup informasi transaksi, atribut jurnal, dan nilai hash dokumen.

Semua system-assigned IDs adalah identifier unik universal (UUID) yang masing-masing diwakili dalam string Base62 yang dikodekan. Untuk informasi selengkapnya, lihat Unik IDs di Amazon QLDB.

Pandangan berkomitmen

Anda dapat mengakses metadata dokumen dengan menanyakan tampilan yang dikomit. Tampilan ini mengembalikan dokumen dari tabel yang ditentukan sistem yang secara langsung sesuai dengan tabel pengguna Anda. Ini mencakup revisi terbaru yang berkomitmen dan tidak dihapus dari data Anda dan metadata yang dihasilkan sistem. Untuk menanyakan tampilan ini, tambahkan awalan _ql_committed_ ke nama tabel dalam kueri Anda. (Awalan _ql_ dicadangkan QLDB untuk objek sistem.)

SELECT * FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

Menggunakan data yang sebelumnya dimasukkanMembuat tabel dengan indeks dan memasukkan dokumen, output dari kueri ini menunjukkan isi sistem dari setiap revisi terbaru dokumen yang tidak dihapus. Dokumen sistem memiliki metadata bersarang di metadata bidang, dan data pengguna Anda bersarang di bidang. data

{ blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:14 }, hash:{{wCsmM6qD4STxz0WYmE+47nZvWtcCz9D6zNtCiM5GoWg=}}, data:{ VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", PendingPenaltyTicketAmount: 90.25, ValidFromDate: 2017-08-21T, ValidToDate: 2020-05-11T, Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }, metadata:{ id:"3Qv67yjXEwB9SjmvkuG6Cp", version:0, txTime:2019-06-05T20:53:321d-3Z, txId:"HgXAkLjAtV0HQ4lNYdzX60" } }, { blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:14 }, hash:{{wPuwH60TtcCvg/23BFp+redRXuCALkbDihkEvCX22Jk=}}, data:{ VIN: "KM8SRDHF6EU074761", LicensePlateNumber: "CA762X", State: "WA", City: "Kent", PendingPenaltyTicketAmount: 130.75, ValidFromDate: 2017-09-14T, ValidToDate: 2020-06-25T, Owners: { PrimaryOwner: { PersonId: "IN7MvYtUjkp1GMZu0F6CG9" }, SecondaryOwners: [] } }, metadata:{ id:"JOzfB3lWqGU727mpPeWyxg", version:0, txTime:2019-06-05T20:53:321d-3Z, txId:"HgXAkLjAtV0HQ4lNYdzX60" } }
Bidang tampilan yang berkomitmen
  • blockAddress— Lokasi blok di jurnal buku besar Anda tempat revisi dokumen dilakukan. Alamat, yang dapat digunakan untuk verifikasi kriptografi, memiliki dua bidang berikut.

    • strandId— ID unik untai jurnal yang berisi blok.

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

    catatan

    Kedua dokumen dalam contoh ini memiliki identik blockAddress dengan yang samasequenceNo. Karena dokumen-dokumen ini dimasukkan dalam satu transaksi (dan dalam hal ini, dalam satu pernyataan), mereka dilakukan di blok yang sama.

  • hash— Nilai hash SHA -256 Ion yang secara unik mewakili revisi dokumen. Hash mencakup revisi data dan metadata bidang dan dapat digunakan untuk verifikasi kriptografi.

  • data— Atribut data pengguna dokumen.

    Jika Anda menyunting revisi, data struktur ini digantikan oleh dataHash bidang, yang nilainya adalah hash Ion dari struktur yang dihapus. data

  • metadata— Atribut metadata dokumen.

    • id— ID unik yang ditetapkan sistem dari dokumen.

    • version— Nomor versi dokumen. Ini adalah bilangan bulat berbasis nol yang bertambah dengan setiap revisi dokumen.

    • txTime— Stempel waktu saat revisi dokumen dilakukan pada jurnal.

    • txId— ID unik dari transaksi yang melakukan revisi dokumen.

Bergabung dengan pandangan yang berkomitmen dan pengguna

Anda dapat menulis kueri yang bergabung dengan tabel dalam tampilan komited dengan tabel dalam tampilan pengguna. Misalnya, Anda mungkin ingin menggabungkan dokumen id dari satu tabel dengan bidang yang ditentukan pengguna dari tabel lain.

Kueri berikut menggabungkan dua tabel bernama DriversLicense dan Person pada id bidang PersonId dan dokumen masing-masing, menggunakan tampilan komited untuk yang terakhir.

SELECT * FROM DriversLicense AS d INNER JOIN _ql_committed_Person AS p ON d.PersonId = p.metadata.id WHERE p.metadata.id = '1CWScY2qHYI9G88C2SjvtH'

Untuk mempelajari cara menanyakan bidang ID dokumen dalam tampilan pengguna default, lanjutkan keMenggunakan klausa BY untuk menanyakan ID dokumen.