Pemeriksa Reserved Word DynamoDB
Tempel nama atribut Anda untuk melihat mana yang bertabrakan dengan reserved word DynamoDB, dan salin map ExpressionAttributeNames yang memberi alias secara aman.
Mengapa reserved word penting
DynamoDB menyimpan daftar panjang kata kunci reserved yang tidak akan diterimanya sebagai nama atribut telanjang di dalam ekspresi. Nama sehari-hari — name, status, size, count, timestamp, year — ada di dalamnya. Referensikan salah satunya langsung dan request gagal dengan ValidationException, biasanya saat runtime alih-alih saat review.
Perbaikannya adalah expression attribute name: sebuah placeholder # yang menggantikan nama sebenarnya, dipasangkan dengan map ExpressionAttributeNames. Checker ini mencocokkan nama Anda tanpa membedakan huruf besar/kecil terhadap daftar lengkap dan membangun map tersebut untuk yang reserved secara otomatis, sehingga Anda dapat menempelnya langsung ke request GetItem, Query, Update, atau Delete.
Memberi alias adalah kebiasaan kecil yang menghindari seluruh kelas error — expression attribute names dan values menjelaskan placeholder secara mendalam, dan Expression Builder memberi alias pada setiap nama untuk Anda saat Anda membangun.
Pertanyaan yang sering diajukan
Apa itu reserved word DynamoDB?
DynamoDB menyimpan daftar besar kata kunci — sekitar 573 — yang tidak dapat digunakan langsung sebagai nama atribut di dalam ekspresi. Nama seperti name, status, timestamp, size, dan count semuanya reserved. Jika Anda mereferensikan salah satunya langsung dalam ekspresi projection, filter, condition, atau update, DynamoDB mengembalikan ValidationException dengan pesan “Attribute name is a reserved keyword”.
Bagaimana cara menggunakan reserved word sebagai nama atribut?
Beri alias dengan expression attribute name — sebuah placeholder yang dimulai dengan # dan dipetakan ke nama sebenarnya. Misalnya, referensikan #name dalam ekspresi Anda dan teruskan ExpressionAttributeNames berupa { "#name": "name" }. Tool ini menghasilkan map tersebut untuk setiap reserved name yang Anda masukkan, siap ditempel ke request Anda.
Apakah daftar reserved word case-sensitive?
Tidak. Daftar reserved word DynamoDB tidak case-sensitive, jadi Name, name, dan NAME semuanya diperlakukan sebagai reserved word NAME. Checker ini mencocokkan tanpa membedakan huruf besar/kecil, persis seperti DynamoDB.
Apakah saya harus memberi alias pada setiap nama atribut?
Hanya yang reserved yang membutuhkan alias, tetapi banyak tim memberi alias pada setiap nama sebagai kebiasaan sehingga mereka tidak pernah menemui error dan ekspresi terbaca konsisten. Memberi alias pada nama yang tidak reserved selalu aman. Tool ini menandai dengan tepat nama mana milik Anda yang reserved sehingga Anda dapat memutuskan.