DynamoDB Ayrılmış Kelimeler Denetleyicisi
Hangilerinin DynamoDB'nin ayrılmış kelimeleriyle çakıştığını görmek için attribute adlarınızı yapıştırın ve onlara güvenli bir şekilde takma ad veren bir ExpressionAttributeNames haritası kopyalayın.
Ayrılmış kelimeler neden önemli
DynamoDB, bir ifade içinde çıplak bir attribute adı olarak kabul etmeyeceği uzun bir ayrılmış anahtar kelime listesi tutar. Günlük adlar — name, status, size, count, timestamp, year — bu listede yer alır. Birine doğrudan başvurun ve istek, genellikle incelemede değil çalışma zamanında bir ValidationException ile başarısız olur.
Çözüm bir expression attribute name'dir: gerçek adın yerini alan bir # yer tutucu, bir ExpressionAttributeNames haritasıyla eşleştirilir. Bu denetleyici, adlarınızı tam listeye karşı büyük/küçük harfe duyarsız eşleştirir ve ayrılmış olanlar için o haritayı otomatik olarak oluşturur, böylece onu doğrudan bir GetItem, Query, Update veya Delete isteğine yapıştırabilirsiniz.
Takma ad verme, koca bir hata sınıfını önleyen küçük bir alışkanlıktır — expression attribute names ve values yer tutucuları ayrıntılı olarak açıklar ve Expression Builder siz oluştururken her ada sizin için takma ad verir.
Sıkça sorulan sorular
DynamoDB ayrılmış kelimeleri nelerdir?
DynamoDB, bir ifade içinde doğrudan attribute adı olarak kullanılamayan büyük bir anahtar kelime listesi — yaklaşık 573 — ayırır. name, status, timestamp, size ve count gibi adların hepsi ayrılmıştır. Birine bir projeksiyon, filtre, koşul veya güncelleme ifadesinde doğrudan başvurursanız, DynamoDB “Attribute name is a reserved keyword” mesajıyla bir ValidationException döndürür.
Ayrılmış bir kelimeyi attribute adı olarak nasıl kullanırım?
Onu bir expression attribute name ile takma adlandırın — # ile başlayan ve gerçek ada eşlenen bir yer tutucu. Örneğin, ifadenizde #name'e başvurun ve { "#name": "name" } olan ExpressionAttributeNames'i geçirin. Bu araç, girdiğiniz her ayrılmış ad için o haritayı oluşturur ve isteğinize yapıştırmaya hazırdır.
Ayrılmış kelimeler listesi büyük/küçük harfe duyarlı mı?
Hayır. DynamoDB'nin ayrılmış kelimeler listesi büyük/küçük harfe duyarlı değildir, bu yüzden Name, name ve NAME'in hepsi ayrılmış kelime NAME olarak ele alınır. Bu denetleyici, tıpkı DynamoDB gibi büyük/küçük harfe duyarsız eşleştirir.
Her attribute adına takma ad vermek zorunda mıyım?
Yalnızca ayrılmış olanlar bir takma ad gerektirir, ancak birçok ekip hatayla hiç karşılaşmamak ve ifadelerin tutarlı okunması için her ada bir alışkanlık olarak takma ad verir. Ayrılmamış bir ada takma ad vermek her zaman güvenlidir. Bu araç, adlarınızdan tam olarak hangilerinin ayrılmış olduğunu işaretler, böylece karar verebilirsiniz.