Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Pembuatan versi sumber data DynamoDB di AWS AppSync

Mode fokus
Pembuatan versi sumber data DynamoDB di AWS AppSync - AWS AppSync GraphQL

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

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

AWS AppSync saat ini mendukung pembuatan versi pada sumber data DynamoDB. Operasi Deteksi Konflik, Resolusi Konflik, dan Sinkronisasi memerlukan sumber Versioned data. Ketika Anda mengaktifkan versi pada sumber data, secara otomatis AWS AppSync akan:

  • Tingkatkan item dengan metadata versi objek.

  • Rekam perubahan yang dibuat pada item dengan AWS AppSync mutasi ke tabel Delta.

  • Pertahankan item yang dihapus di tabel Dasar dengan “batu nisan” untuk jangka waktu yang dapat dikonfigurasi.

Konfigurasi sumber data berversi

Saat Anda mengaktifkan pembuatan versi pada sumber data DynamoDB, Anda menentukan bidang berikut:

BaseTableTTL

Jumlah menit untuk mempertahankan item yang dihapus di tabel Dasar dengan “batu nisan” - bidang metadata yang menunjukkan bahwa item telah dihapus. Anda dapat mengatur nilai ini ke 0 jika Anda ingin item segera dihapus ketika mereka dihapus. Bidang ini wajib diisi.

DeltaSyncTableName

Nama tabel tempat perubahan yang dilakukan pada item dengan AWS AppSync mutasi disimpan. Bidang ini wajib diisi.

DeltaSyncTableTTL

Jumlah menit untuk menyimpan item di tabel Delta. Bidang ini wajib diisi.

Pencatatan tabel sinkronisasi Delta

AWS AppSync saat ini mendukung Delta Sync Logging untuk mutasi menggunakanPutItem,UpdateItem, dan operasi DynamoDBDeleteItem.

Ketika AWS AppSync mutasi mengubah item dalam sumber data berversi, catatan perubahan itu akan disimpan dalam tabel Delta yang dioptimalkan untuk pembaruan tambahan. Anda dapat memilih untuk menggunakan tabel Delta yang berbeda (misalnya satu per jenis, satu per area domain) untuk sumber data berversi lainnya atau tabel Delta tunggal untuk API Anda. AWS AppSync merekomendasikan untuk tidak menggunakan tabel Delta tunggal untuk beberapa APIs untuk menghindari tabrakan kunci utama.

Skema yang diperlukan untuk tabel ini adalah sebagai berikut:

ds_pk

Nilai string yang digunakan sebagai kunci partisi. Ini dibangun dengan menggabungkan nama sumber data Base dan format ISO 8601 dari tanggal perubahan terjadi (misalnya). Comments:2019-01-01

Ketika customPartitionKey bendera dari template pemetaan VTL ditetapkan sebagai nama kolom kunci partisi (lihat Referensi Template Pemetaan Resolver untuk DynamoDB di Panduan AWS AppSync Pengembang), format ds_pk perubahan, dan string dibangun dengan menambahkan nilai kunci partisi dalam catatan baru di tabel Base. Misalnya, jika catatan dalam tabel Base memiliki nilai kunci partisi 1a dan nilai kunci sortir2b, nilai baru string akan menjadi:Comments:2019-01-01:1a.

ds_sk

Nilai string yang digunakan sebagai kunci pengurutan. Ini dibangun dengan menggabungkan format ISO 8601 dari waktu perubahan terjadi, kunci utama item, dan versi item. Kombinasi bidang ini menjamin keunikan untuk setiap entri dalam tabel Delta (misalnya untuk waktu 09:30:00 dan ID 1a dan versi2, ini akan menjadi). 09:30:00:1a:2

Ketika customPartitionKey bendera dari template pemetaan VTL diatur ke nama kolom kunci partisi (lihat Referensi Template Pemetaan Resolver untuk DynamoDB dalam Panduan AWS AppSync Pengembang), format ds_sk perubahan, dan string dibangun dengan mengganti nilai kombinasi kunci dengan nilai kunci pengurutan di tabel Base. Menggunakan contoh sebelumnya di atas, jika catatan dalam tabel Base memiliki nilai kunci partisi 1a dan nilai kunci jenis2b, nilai baru string akan:09:30:00:2b:3.

_ttl

Nilai numerik yang menyimpan stempel waktu, dalam detik epoch, ketika item harus dihapus dari tabel Delta. Nilai ini ditentukan dengan menambahkan DeltaSyncTableTTL nilai yang dikonfigurasi pada sumber data ke saat perubahan terjadi. Bidang ini harus dikonfigurasi sebagai DynamoDB TTL Atribut.

Peran IAM yang dikonfigurasi untuk digunakan dengan tabel Base juga harus berisi izin untuk beroperasi pada tabel Delta. Dalam contoh ini, kebijakan izin untuk tabel Base yang dipanggil Comments dan tabel Delta dipanggil ChangeLog ditampilkan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem" ], "Resource": [ "arn:aws:dynamodb:us-east-1:000000000000:table/Comments", "arn:aws:dynamodb:us-east-1:000000000000:table/Comments/*", "arn:aws:dynamodb:us-east-1:000000000000:table/ChangeLog", "arn:aws:dynamodb:us-east-1:000000000000:table/ChangeLog/*" ] } ] }

Metadata sumber data berversi

AWS AppSync mengelola bidang metadata pada sumber Versioned data atas nama Anda. Memodifikasi bidang ini sendiri dapat menyebabkan kesalahan dalam aplikasi atau kehilangan data Anda. Bidang ini meliputi:

_version

Penghitung yang meningkat secara monoton yang diperbarui setiap saat perubahan terjadi pada suatu item.

_lastChangedAt

Nilai numerik yang menyimpan stempel waktu, dalam milidetik epoch, saat item terakhir diubah.

_deleted

Nilai “batu nisan” Boolean yang menunjukkan bahwa item telah dihapus. Ini dapat digunakan oleh aplikasi untuk mengusir item yang dihapus dari penyimpanan data lokal.

_ttl

Nilai numerik yang menyimpan stempel waktu, dalam detik epoch, ketika item harus dihapus dari sumber data yang mendasarinya.

ds_pk

Nilai string yang digunakan sebagai kunci partisi untuk tabel Delta.

ds_sk

Nilai string yang digunakan sebagai kunci pengurutan untuk tabel Delta.

gsi_ds_pk

Sebuah atribut nilai string yang dihasilkan untuk mendukung indeks sekunder global sebagai kunci partisi. Ini akan disertakan hanya jika kedua customPartitionKey dan populateIndexFields flag diaktifkan dalam template pemetaan VTL (lihat Referensi Template Pemetaan Resolver untuk DynamoDB di Panduan Pengembang).AWS AppSync Jika diaktifkan, nilai akan dibangun dengan menggabungkan nama sumber data Base dan format ISO 8601 dari tanggal di mana perubahan terjadi (misalnya jika tabel Base bernama Komentar, catatan ini akan ditetapkan sebagai). Comments:2019-01-01

gsi_ds_sk

Sebuah atribut nilai string yang dihasilkan untuk mendukung indeks sekunder global sebagai kunci pengurutan. Ini akan disertakan hanya jika kedua customPartitionKey dan populateIndexFields flag diaktifkan dalam template pemetaan VTL (lihat Referensi Template Pemetaan Resolver untuk DynamoDB di Panduan Pengembang).AWS AppSync Jika diaktifkan, nilainya akan dibangun dengan menggabungkan format ISO 8601 saat perubahan terjadi, kunci partisi item di tabel Dasar, kunci pengurutan item di tabel Dasar, dan versi item (misalnya untuk sementara waktu, nilai kunci partisi09:30:00, nilai kunci pengurutan1a, dan versi2b, ini akan menjadi). 3 09:30:00:1a#2b:3

Bidang metadata ini akan memengaruhi ukuran keseluruhan item di sumber data yang mendasarinya. AWS AppSync merekomendasikan untuk memesan 500 byte+Ukuran Kunci Utama Maks dari penyimpanan untuk metadata sumber data berversi saat mendesain aplikasi Anda. Untuk menggunakan metadata ini dalam aplikasi klien, sertakan _version_lastChangedAt, dan _deleted bidang pada tipe GraphQL Anda dan dalam set pilihan untuk mutasi.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.