Tool gratis

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.

Nama atribut

Masukkan satu nama atribut per baris (koma dan spasi juga berlaku). Masing-masing diperiksa, tanpa membedakan huruf besar/kecil, terhadap daftar lengkap reserved word DynamoDB.

4 dari 6 nama adalah reserved dan harus diberi alias.
  • name#nameReserved
  • status#statusReserved
  • timestamp#timestampReserved
  • userIdOK
  • count#countReserved
  • emailOK
ExpressionAttributeNames
{
  "#name": "name",
  "#status": "status",
  "#timestamp": "timestamp",
  "#count": "count"
}

Referensikan setiap reserved name dengan alias #-nya dalam ekspresi Anda, dan teruskan map ini sebagai ExpressionAttributeNames.

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.

Bekerja dengan DynamoDB tanpa Console

DynoTable adalah klien desktop yang cepat untuk DynamoDB — jelajahi tabel, jalankan query gaya SQL, dan edit Item secara lokal.