DynamoDB Hataları

Sık Karşılaşılan DynamoDB Hataları (ve Nasıl Çözülür)

Geliştiricilerin en sık karşılaştığı DynamoDB hataları — her biri ne anlama geldiği, neden olduğu ve tam çözümüyle.

Doğrulama ve ifade hataları (52)

DynamoDB ValidationException — Nedenleri ve Nasıl Düzeltilir
Bir DynamoDB ValidationException: istek, çalışmadan önce hatalı biçimli diye reddedildi. Yaygın tetikleyiciler, okunacak mesaj ve her biri için çözüm.
"Query condition missed key schema element" — DynamoDB Çözümü
Query condition missed key schema element: KeyConditionExpression'ınızda bölüm anahtarı üzerinde eşitlik yok. Bir GSI sorgulayın ya da Scan yapın.
"The provided key element does not match the schema" — DynamoDB Çözümü
Bu ValidationException: anahtar özniteliğinin adı veya türü tablonuzun KeySchema'sıyla eşleşmiyor — eksik sıralama anahtarı ya da string gönderilen sayı.
"Invalid UpdateExpression" Syntax Error — DynamoDB Çözümü
Geçersiz UpdateExpression genellikle çıplak bir ayrılmış sözcük ya da eksik bir #name veya :value yer tutucusudur. İşte mesajı okuyup düzeltme yolu.
"ExpressionAttributeValues contains invalid value" — DynamoDB Çözümü
Bu ValidationException, ExpressionAttributeValues'teki bir değerin boş, yanlış türde ya da ifadenizin hiç tanımlamadığı bir yer tutucu olduğu anlamına gelir.
"Item size has exceeded the maximum allowed size" — DynamoDB Çözümü
DynamoDB öğeleri 400 KB ile sınırlıdır. Bu ValidationException, öğenizin sınırı aştığını söyler — boyutu nasıl kontrol edip altına ineceğiniz.
DynamoDB ConditionalCheckFailedException — Nedenleri ve Çözümü
ConditionalCheckFailedException, ConditionExpression'ınız false döndüğü anlamına gelir; DynamoDB yazmayı reddetti ve öğeyi değiştirmeden bıraktı.
DynamoDB TransactionCanceledException — İptal Nedenlerini Çözün
TransactionCanceledException: bir öğe başarısız oldu ve tüm işlem geri alındı. Hangi öğe ve neden olduğunu bulmak için CancellationReasons dizisini okuyun.
DynamoDB SerializationException — Nedenleri ve Çözümü
SerializationException: JSON'unuz DynamoDB'nin kablo biçimiyle eşleşmiyor — genellikle string sarmalı sayı. Tipli AttributeValue sarmalayıcılarını düzeltin.
"Supplied AttributeValue is empty" — DynamoDB Çözümü
Bu ValidationException: bir AttributeValue tipli değer taşımıyor — boş set, boş anahtar dizesi ya da tanımsız alan. Kaldırın ya da bir değer verin.
"One or more parameter values were invalid" — DynamoDB Çözümü
Bu ValidationException: bir değer DynamoDB kuralını bozuyor — boş bir set, boş bir anahtar dizesi ya da bir tür uyuşmazlığı. Mesaj parametreyi adıyla verir.
"Invalid size for parameter" — DynamoDB Vektör Yazma Çözümü
DynamoDB, embedding'in boyut sayısı vektör index'iyle eşleşmediğinde bir vektör yazmasını reddeder. Mesaj özniteliği ve her iki boyutu adıyla verir.
"Search vector contains invalid values" — DynamoDB Çözümü
SearchVectors, DynamoDB'nin L türüne sarılmış ya da float olmayan değerler taşıyan bir sorgu vektörünü reddeder. Parametre bir List özniteliği değil, çıplak bir JSON dizisidir.
"SearchConditionExpression must be provided" — DynamoDB Çözümü
HASH arama şeması anahtarına sahip bir vektör index'i, her SearchVectors çağrısının tam olarak bir partition değeri sabitlemesini gerektirir. Filtre, index oluşturulduğunda isteğe bağlı olmaktan çıktı.
"Query key condition not supported" — DynamoDB Çözümü
DynamoDB, anahtar şemasının yasakladığı bir operatörlü KeyConditionExpression'ı reddeder — bölüm anahtarları yalnızca eşitlik alır. İzin verilenler burada.
"Attribute name is a reserved keyword" — DynamoDB Çözümü
DynamoDB, status, name veya size gibi ayrılmış sözcükleri çıplak öznitelik adı kabul etmez. #status gibi bir ExpressionAttributeNames yer tutucusu kullanın.
"Float types are not supported" — DynamoDB boto3 Çözümü
boto3, DynamoDB tam ondalıklar sakladığı için TypeError "Float types are not supported" fırlatır. float'ları string biçimiyle decimal.Decimal'e dönüştürün.
"Number overflow" — DynamoDB Sayı Boyutu Sınırı Çözümü
DynamoDB'nin N türü 38 basamak hassasiyet ve ~9.9E+125'e kadar büyüklük tutar. Ötesinde büyük ID'leri ve yüksek hassasiyetli değerleri string saklayın.
"The provided expression refers to an attribute that does not exist" — Çözüm
UpdateExpression veya ConditionExpression'ınız öğede olmayan bir yola başvuruyor — eksik üst map, yazım hatası ya da eksik bir öznitelik üzerinde matematik.
"Provided list of item keys contains duplicates" (BatchGetItem) — Çözüm
DynamoDB, bir tablonun Keys listesi aynı birincil anahtarı tekrarlarsa BatchGetItem'ı reddeder. Tüm batch başarısız olur; önce anahtarları tekilleştirin.
"Provided list of item keys contains duplicates" (BatchWriteItem) — Çözüm
DynamoDB, iki eylem aynı birincil anahtarı hedeflediğinde BatchWriteItem'ı reddeder. Toplu istek tek bir öğeye iki kez dokunamaz; yinelenenleri birleştirin.
"Expression sana has exceeded the maximum allowed sana" (4 KB) — Çözüm
DynamoDB her ifade dizesini 4 KB ile sınırlar. Bunu aşan FilterExpression, ConditionExpression veya UpdateExpression reddedilir. İşte nasıl küçülteceğiniz.
"Aggregated sana of all range keys has exceeded the sana limit" — Çözüm
DynamoDB sıralama anahtarını 1024, bölüm anahtarını 2048 baytla sınırlar. Bu ValidationException'ın arkasındaki boyut matematiği ve anahtarları düzeltme yolu.
"Filter Expression can only contain non-primary key attributes" — Çözüm
DynamoDB, bölüm veya sıralama anahtarına başvuran FilterExpression'ı reddeder. Anahtarlar KeyConditionExpression'a aittir — sorguyu yeniden kurma yolu.
DynamoDB BatchGetItem 100 Öğe Sınırı — "Too Many Items" Çözümü
BatchGetItem çağrı başına en fazla 100 öğe (ve 16 MB) kabul eder. Daha fazlasını isteyin, DynamoDB tüm isteği reddeder. Sınır ve parçalara bölen döngü.
"Too many items requested for the BatchWriteItem call" — Çözüm
BatchWriteItem çağrı başına en fazla 25 put veya delete eylemi kabul eder. Daha fazlasını gönderin, DynamoDB tüm isteği bir ValidationException ile reddeder.
DynamoDB "Can Not Use Both Expression and Non-Expression Parameters" — Çözüm
DynamoDB, KeyConditions gibi eski bir parametreyi KeyConditionExpression ile karıştıran bir isteği reddeder. Eski parametreyi kaldırın ve ifadeleri kullanın.
"Local secondary indexes must be specified at table creation" — Çözüm
Bir yerel ikincil indeks yalnızca tablo oluşturulurken tanımlanabilir, sonradan eklenemez. Kısıtlamanın neden var olduğu ve bunu nasıl aşacağınız.
DynamoDB TransactionCanceledException — ConditionalCheckFailed Çözümü
ConditionalCheckFailed ile iptal edilen bir TransactWriteItems: bir öğenin koşulu başarısız oldu ve tüm işlemi geri aldı. Onu nasıl bulacağınız.
"Value provided in ExpressionAttributeNames unused in expressions" — Çözüm
DynamoDB, hiçbir ifadenin başvurmadığı bir ExpressionAttributeNames takma adı bildiren isteği reddeder. Takma adı kaldırın ya da onu atlayan ifadeyi düzeltin.
"Value provided in ExpressionAttributeValues unused in expressions" — Çözüm
DynamoDB, hiçbir ifadenin kullanmadığı bir ExpressionAttributeValues yer tutucusu bildiren isteği reddeder. Öksüz değeri kaldırın ya da ifadeyi düzeltin.
DynamoDB S3 İçe Aktarma Başarısız — Geçersiz Biçim Çözümü
S3'ten DynamoDB İçe Aktarma, nesneler bildirilen InputFormat veya sıkıştırmayla eşleşmezse ya da öğelerde birincil anahtar yoksa başarısız olur. İşte çözümü.
"Size of hashkey has exceeded the maximum size limit of 2048 bytes" — Çözüm
Bir DynamoDB bölüm anahtarı en fazla 2048, sıralama anahtarı 1024 bayt olabilir. Birini aşarsanız yazma reddedilir — işte anahtarı yeniden tasarlama yolu.
DynamoDB GSI "Does Not Project" Öznitelik — Çözüm
Bir GSI yalnızca anahtar özniteliklerini ve projeksiyonunu döndürür; başkası için sorgu başarısız olur. Projeksiyonu ya da isteği değiştirin — işte nasıl.
"Nesting Levels have exceeded supported limits" — DynamoDB 32 Seviye Çözümü
DynamoDB, map ve list yuvalanmasını 32 seviyeyle sınırlar — daha derin dokümanlar "Nesting Levels have exceeded supported limits" fırlatır. İşte çözümü.
"Segment must be less than TotalSegments" — Paralel Tarama Çözümü
Paralel Scan, 0 ≤ Segment < TotalSegments gerektirir ve ikisi birlikte gönderilmelidir. Her çalışana 0 ile TotalSegments − 1 arasında ayrı bir Segment verin.
DynamoDB "Cannot Specify AttributesToGet When Select Is COUNT" — Çözüm
DynamoDB, Select=COUNT'ı ProjectionExpression veya AttributesToGet ile kullanan Query ya da Scan'i reddeder. COUNT bir sayı döndürür, projeksiyonu kaldırın.
DynamoDB Streams "The ARN provided is invalid" — Çözüm
DynamoDB Streams, /stream/latest gibi hatalı ya da yer tutucu stream ARN'ini reddeder. DescribeTable'ın döndürdüğü gerçek LatestStreamArn'i birebir iletin.
"Transaction request cannot include multiple operations on one item" — Çözüm
DynamoDB, iki eylem aynı birincil anahtarı hedeflediğinde TransactWriteItems'ı reddeder. Yinelenenleri birleştirin ya da birini ayrı yazmaya taşıyın.
DynamoDB TransactWriteItems 100 Eylem Sınırı — Çözüm
TransactWriteItems 100 eylemle sınırlıdır; ötesinde TransactItems uzunluğu ValidationException verir. Bölün ya da çağrı başına 25 ile BatchWriteItem kullanın.
DynamoDB TTL Özniteliği Bir Sayı Olmalı — Nedenleri ve Çözümü
DynamoDB TTL yalnızca TTL özniteliği Unix epoch saniye cinsinden Number olan öğelerin süresini doldurur. String, milisaniye ya da eksik öznitelik asla dolmaz.
DynamoDB "The expression can not be empty" — Çözüm
DynamoDB, boş string olarak iletilen bir ifade parametresini reddeder. Gönderecek bir şeyiniz yoksa FilterExpression veya UpdateExpression'ı tamamen atlayın.
"ExpressionAttributeNames contains invalid key: Syntax error" — Çözüm
DynamoDB, yer tutucu anahtarı `#name` söz dizimini bozan bir ExpressionAttributeNames map'ini reddeder. Adlandırma kuralı ve gerçek adın nereye ait olduğu.
"Two document paths overlap with each other" (DynamoDB) — Çözüm
DynamoDB, hem bir üst yolu hem de içine yuvalanmış bir yolu ayarlayan bir UpdateExpression'ı reddeder. Alt öğeyi üste katın ya da iki güncellemeye bölün.
"The document path provided in the update expression is invalid" — Çözüm
Geçersiz doküman yolu: iç içe özniteliğinizin üst öğesi yok ya da bir map değil. DynamoDB onu asla otomatik oluşturmaz, önce siz oluşturun.
"An operand in the update expression has an incorrect data type" — Çözüm
Güncelleme işleneninin türü saklananla eşleşmiyor — sayı olmayanda ADD, liste olmayanda list_append, uyuşmayan bir set. İşte eylem başına çözüm.
DynamoDB IdempotentParameterMismatchException — Nedenleri ve Çözümü
TransactWriteItems, 10 dakikalık idempotentlik penceresinde bir ClientRequestToken'ı farklı bir yükle yeniden kullanan denemeyi reddeder. İşte çözümü.
"Consistent reads are not supported on global secondary indexes" — Çözüm
GSI'yi ConsistentRead true ile sorgulamak ValidationException fırlatır. GSI'ler yalnızca nihai tutarlıdır. Bayrağı kaldırın veya temel tabloyu okuyun.
DynamoDB DuplicateItemException (PartiQL INSERT) — Nedenleri ve Çözümü
PartiQL INSERT, birincil anahtar zaten varsa DuplicateItemException ile başarısız olur. PutItem'ın aksine asla üzerine yazmaz; UPDATE ya da PutItem kullanın.
"Unexpected from source" (DynamoDB PartiQL) — Çözüm
PartiQL, FROM'daki tire ya da özel karakterler içeren bir tablo adı çift tırnağa alınmazsa "Unexpected from source" fırlatır. Bir çift tırnak onu düzeltir.
boto3 "Parameter validation failed" (ParamValidationError) — Çözüm
botocore, istek DynamoDB'ye ulaşmadan ParamValidationError fırlatır — genellikle client ile resource tür karışıklığı. Mesajı böyle okuyup düzeltirsiniz.
"The provided starting key is invalid" (DynamoDB) — Çözüm
DynamoDB, sayfaladığınız tablonun veya indeksin anahtar şemasıyla eşleşmeyen bir ExclusiveStartKey'i reddeder. LastEvaluatedKey'i birebir geri iletin.

Verim (throughput) ve kısıtlama hataları (11)

DynamoDB ProvisionedThroughputExceededException — Nedenleri ve Çözümü
DynamoDB, okuma ya da yazmalar tablonun veya GSI'nin sağlanan kapasitesini aşınca ProvisionedThroughputExceededException fırlatır. Neyin tükendiği ve çözümü.
DynamoDB ThrottlingException — Nedenleri ve Çözümü
ThrottlingException: istek hızınız bir sınırı aştı; genellikle CreateTable gibi kontrol düzlemi çağrılarında. Üstel geri çekilmeyle deneyip yavaşlayın.
DynamoDB ItemCollectionSizeLimitExceededException — Nedenleri ve Çözümü
Bu hata yalnızca Yerel İkincil İndeksi olan tablolarda görülür — bir öğe koleksiyonu (aynı bölüm anahtarlı tüm öğeler) 10 GB'yi aştı. İşte çözümü.
DynamoDB RequestLimitExceeded — Nedenleri ve Çözümü
RequestLimitExceeded bir hesap düzeyi hız sınırıdır — talep üzerine varsayılan, saniyede 40.000 okuma ve yazma istek birimidir. Service Quotas'tan yükseltin.
DynamoDB TransactionConflictException — Nedenleri ve Çözümü
TransactionConflictException, başka bir işlemin aynı öğeye dokunduğu anlamına gelir. Geçicidir — geri çekilmeyle yeniden deneyin ve işlemleri küçük tutun.
"Provisioned throughput decreases are limited within a given day" — Çözüm
DynamoDB, tablonun sağlanan kapasitesini UTC günü başına kaç kez düşürebileceğinizi sınırlar. İşte kota matematiği ve UpdateTable hatasını aşmanın yolları.
DynamoDB On-Demand Verim Aşıldı — Nedenleri ve Çözümü
Talep üzerine tablolar da kısıtlanır — maksimum verim ayarı, önceki zirvenin iki katını aşan bir ramp ya da bir tablo kotası. İşte sınırları yükseltme yolu.
Kapasiteye Rağmen DynamoDB Kısıtlandı — Sıcak Bölüm Çözümü
DynamoDB, tabloda yedek kapasite olsa bile tek bir sıcak bölüm anahtarını kısıtlar; her fiziksel bölüm 3.000 RCU ve 1.000 WCU ile sınırlıdır. İşte çözümü.
DynamoDB TransactionInProgressException — Nedenleri ve Çözümü
TransactWriteItems yeniden denemesi, çalışan bir denemenin ClientRequestToken'ını kullandı. Geri çekilmeyle deneyin, zaman aşımını 5 saniyenin üstüne alın.
DynamoDB InternalServerError (HTTP 500) — Ne Yapmalı
DynamoDB'den gelen HTTP 500 geçici bir hizmet tarafı hatasıdır; yeniden denemek güvenli ama başarısız yazma yine de uygulanmış olabilir. İşte ele alış yolu.
DynamoDB ReplicatedWriteConflictException — Nedenleri ve Çözümü
Çok Bölgeli, güçlü tutarlı bir global tabloda, başka bir Bölge aynı öğeyi değiştirirken bir yazma reddedilir. Yeniden denenebilir — işte nasıl.

Tablo ve kaynak hataları (19)

DynamoDB ResourceNotFoundException — Nedenleri ve Çözümü
ResourceNotFoundException, tablonun veya indeksin çağırdığınız bölgede ve hesapta olmadığı anlamına gelir. Adı, bölgeyi ve kimlik bilgilerini kontrol et.
DynamoDB ResourceInUseException ("Table already exists") — Çözüm
ResourceInUseException: tablo zaten var ya da hâlâ CREATING, UPDATING veya DELETING. İşlem yapmadan önce durumunu DescribeTable ile kontrol et.
DynamoDB LimitExceededException — Nedenleri ve Çözümü
LimitExceededException: çok fazla eşzamanlı CreateTable, UpdateTable veya DeleteTable çağrısı ya da dolmuş bir hesap sınırı. İşte altında kalma yolu.
"The table does not have the specified index" — Çözüm
DynamoDB çağrıyı reddeder, çünkü IndexName o tabloda yoktur, yanlış yazılmıştır ya da GSI henüz ACTIVE değildir. İşte bunu nasıl doğrulayıp düzelteceğiniz.
DynamoDB BackupNotFoundException — Nedenleri ve Çözümü
DynamoDB BackupNotFoundException: ilettiğiniz BackupArn ile eşleşen yedek yok. Genellikle yanlış ARN, silinmiş ya da süresi geçmiş yedek veya yanlış bölge.
DynamoDB ReplicaNotFoundException — Nedenleri ve Çözümü
ReplicaNotFoundException: güncellediğiniz Bölge çoğaltması global tabloda yok — yanlış bir Bölge, kaldırılmış bir çoğaltma ya da bir yarış durumu.
"Attempting to modify a GSI that is being created" — Çözüm
DynamoDB, bir global ikincil indeks oluşturulurken yapısal değişiklikleri engeller. IndexStatus ACTIVE olana kadar bekleyin ya da değişiklikleri sıraya koyun.
DynamoDB ExportTableToPointInTime — PITR etkin değil çözümü
ExportTableToPointInTime, kaynak tabloda zaman noktasına kurtarma ister; yoksa PointInTimeRecoveryUnavailableException fırlatır. Tek komutluk çözüm.
DynamoDB Global Tablo Sürüm Uyuşmazlığı — Nedenleri ve Çözümü
Çoğaltmalar hizalanmazsa global tablo oluşturma başarısız olur — dolu tablolar, uyuşmayan anahtar şemaları veya GSI'ler, 2017 ve 2019 API sürümü karışımı.
DynamoDB LSI Öğe Koleksiyonu 10 GB Sınırı — Nedenleri ve Çözümü
Yerel İkincil İndeksli tablolar her öğe koleksiyonunu 10 GB ile sınırlar — aşınca yazmalar başarısız. ItemCollectionMetrics'i izleyin, yeniden parçalayın.
DynamoDB Cannot Access Stream — Stream Not Enabled Çözümü
Bir tüketici, Streams kapalıyken bir DynamoDB stream'i okudu ya da bayat bir ARN kullandı. Streams'i etkinleştirin ve güncel LatestStreamArn'e yönlendirin.
DynamoDB TableAlreadyExistsException / "Table already exists" — Çözüm
Geri yüklemeler TableAlreadyExistsException fırlatır; CreateTable ve ImportTable ResourceInUseException bildirir. Hedef ad alınmış, yeni bir ad seçin.
DynamoDB Streams ExpiredIteratorException — Nedenleri ve Çözümü
DynamoDB Streams parça yineleyicisi 15 dakika geçerlidir; sonra GetRecords ExpiredIteratorException fırlatır. Veri kaybetmeden nasıl devam edeceğiniz.
DynamoDB Streams TrimmedDataAccessException — Nedenleri ve Çözümü
Stream kayıtları 24 saat yaşar; bundan eski bir kontrol noktası TrimmedDataAccessException fırlatır. TRIM_HORIZON'dan devam edin ve tablodan uzlaştırın.
DynamoDB BackupInUseException — Nedenleri ve Çözümü
DynamoDB BackupInUseException, aynı tabloda başka bir yedeklemenin hâlâ çalıştığı anlamına gelir. Bitmesini bekleyin, sonra çağrınızı yeniden deneyin.
DynamoDB InvalidRestoreTimeException — Nedenleri ve Çözümü
InvalidRestoreTimeException: RestoreDateTime'ınız tablonun en fazla 35 günlük PITR penceresi dışında. Nasıl okunur ve geçerli bir zaman nasıl seçilir.
DynamoDB PointInTimeRecoveryUnavailableException — Çözüm
PITR hiç etkinleştirilmemiş bir tabloda zaman noktası geri yükleme denediniz. Sürekli yedeklemeyi şimdi açın, bugünkü veri için talep üzerine yedek kullanın.
DynamoDB GlobalTableNotFoundException — Nedenleri ve Çözümü
GlobalTableNotFoundException, eski global tablo API'leri tablonuzu görmüyor demektir — genellikle UpdateTable ile yönetilen 2019.11.21 global tablosu.
DynamoDB ReplicaAlreadyExistsException — Nedenleri ve Çözümü
DynamoDB'den global tabloda zaten bulunan bir çoğaltma Bölgesi eklemesini istediniz. Önce çoğaltma grubunu tanımlayın ve çoğaltma yönetimini idempotent yapın.

Kimlik doğrulama ve yapılandırma hataları (13)

"not authorized to perform dynamodb:..." — AccessDeniedException Çözümü
DynamoDB AccessDeniedException: IAM kimliğiniz mesajda adı geçen işlem için yetkili değil. Bunu nasıl okuyacağınız ve IAM ilkesini nasıl düzelteceğiniz.
"ConfigError: Missing region in config" — DynamoDB Çözümü
AWS SDK, DynamoDB isteklerini hangi bölgeye göndereceğini bulamadı. Bölgeyi istemcide, AWS_REGION ile veya AWS yapılandırmanızda ayarlayın — işte hepsi.
"The security token included in the request is invalid" — DynamoDB Çözümü
Bu UnrecognizedClientException, AWS kimlik bilgilerinizin yanlış, süresi geçmiş ya da alınmadığı anlamına gelir. Hangisi olduğunu bulup böyle düzeltirsiniz.
DynamoDB IncompleteSignatureException — Nedenleri ve Çözümü
IncompleteSignatureException: SigV4 imzası hatalı biçimlendirildi — genellikle elle yazılmış bir imzalama ya da Authorization başlığını değiştiren bir proxy.
"The security token included in the request is expired" — DynamoDB Çözümü
ExpiredTokenException: geçici STS, SSO veya üstlenilen rol kimlik bilgileriniz zaman aşımına uğradı. aws sso login çalıştırın, AWS_SESSION_TOKEN'ı silin.
"Unable to locate credentials" (boto3 / DynamoDB) — Çözüm
boto3, sağlayıcı zincirinde hiçbir şey AWS kimlik bilgisi vermediğinde NoCredentialsError fırlatır — ortam değişkeni, profil, örnek rolü yok. İşte çözümü.
"The request signature we calculated does not match" — Çözüm
SigV4 imzalama başarısız olunca DynamoDB, SignatureDoesNotMatch değil InvalidSignatureException döndürür. Genellikle yanlış gizli anahtar ya da saat kayması.
"Credential should be scoped to a valid region" — DynamoDB Çözümü
Bu SigV4 hatası: kimlik bilgisi kapsamınızdaki bölge, gerçekte çağırdığınız bölgeyle eşleşmiyor. İstemci ve uç nokta bölgelerini nasıl hizalayacağınız.
"InvalidSignatureException: Signature expired" — DynamoDB Çözümü
DynamoDB, imzalı zaman damgası AWS sunucu saatinden beş dakikadan fazla sapan isteği reddeder. Neredeyse her zaman istemci saat kayması — işte çözümü.
"Missing Authentication Token" — DynamoDB Hata Çözümü
DynamoDB'den gelen MissingAuthenticationTokenException: yanlış bir uç nokta URL'si ya da yolu veya hiç imzalanmamış bir istek. İşte her birinin çözümü.
"Could not load credentials from any providers" (DynamoDB) — Çözüm
JavaScript v3 için AWS SDK, tüm kimlik bilgisi zinciri boş çıktığında CredentialsProviderError fırlatır. Zincirin nasıl çözümlendiği ve her bir çözüm.
"The SSO session associated with this profile has expired" — Çözüm
Süresi geçmiş IAM Identity Center belirteci AWS CLI ve SDK'nın DynamoDB çağrılarını bozar. aws sso login çalıştırın, yetmezse ~/.aws/sso/cache'i temizleyin.
"The config profile could not be found" — AWS CLI ve boto3 Çözümü
AWS CLI ve boto3, adı verilen profil ~/.aws/config içinde yoksa ProfileNotFound hatası verir. Üç olağan neden ve her biri için çözüm.

DynamoDB Local ve kurulum hataları (8)

"Unable to start DynamoDB Local process" — Çözüm
DynamoDB Local başlatılamadı — genellikle eksik/uyumsuz Java çalışma zamanı, kullanımdaki port ya da hatalı kurulum yolu. Her birini böyle düzeltirsiniz.
"Could not connect to DynamoDB Local" (ECONNREFUSED) — Çözüm
DynamoDB Local'de ECONNREFUSED, hiçbir şeyin dinlemediği anlamına gelir. Genellikle emülatör çalışmıyordur, port yanlıştır ya da SDK gerçek AWS'ye gider.
"Could not connect to the endpoint URL" (DynamoDB) — Çözüm
botocore, DynamoDB'ye ulaşamadığında EndpointConnectionError fırlatır. Genellikle yanlış uç nokta URL'si, çalışmayan DynamoDB Local ya da hatalı bir bölge.
DynamoDB Local "Address already in use" (port 8000) — Çözüm
DynamoDB Local, 8000 portu zaten başkasındayken java.net.BindException fırlatır. Süreci bulma, portu serbest bırakma ya da Local'i başka bir portta başlatma.
DynamoDB Local "Failed to load native library sqlite4java" — Çözüm
DynamoDB Local, sqlite4java için UnsatisfiedLinkError ile başlangıçta çöker; nedeni yanlış bir java.library.path ya da Apple Silicon mimari uyuşmazlığıdır.
"Unable to execute HTTP request" (DynamoDB, Java SDK) — Çözüm
Java için AWS SDK, uç noktaya ulaşamadığında Unable to execute HTTP request ile başarısız olur. DynamoDB Local kapalı, yanlış port ya da Docker ağı.
"Cannot do operations on a non-existent table" (DynamoDB Local) — Çözüm
DynamoDB Local her kimlik bilgisi ve bölge çiftine ayrı veritabanı verir, bu yüzden oluşturduğunuz tablo görünmez olabilir. Local'i -sharedDb ile çalıştırın.
DynamoDB Local UnsupportedClassVersionError — Çözüm
DynamoDB Local 2.6.0 ve üzeri Java 17 veya yenisini gerektirir. Eski JRE'de JVM onu yüklemeyi reddeder. Güncel JDK kurun ya da Docker imajını çalıştırın.

Bunlar nasıl doğrulanıyor

Belgeler kendi uygulamalarını kendi sözcükleriyle anlatır ve bu anlatım zamanla kayar. Bu sayfalarda alıntılanan her hata mesajı, başarısız olan çağrıyı gerçek AWS DynamoDB hizmetine karşı çalıştırıp dönen yanıtı karakteri karakterine kaydederek üretildi — AWS belgelerinden kopyalanmadı.

DynamoDB Local değil. Emülatör kullanışlıdır, ancak AWS onun hataları hizmetle aynı sözcüklerle ifade edeceğine dair bir söz vermez — biz kontrol ettiğimizde mesajlarının yarısından fazlası farklıydı. Farkın bilinmeye değer olduğu yerde sayfa ikisini de gösterir.

Yapılan tek düzenleme, hatayı değil isteğini anlatan kısımlardadır: tablo adı ve hizmetin geri yansıttığı payload kopyan. Bir sayfa, hizmetin hiç döndürmediği bir dizeyi alıntılarsa bir test build'i başarısız kılar — bu test var, çünkü kendi sayfalarımızdan biri, kimse kodu çalıştırmadan önce aylarca uydurma bir mesajı alıntıladı.

14 exception türü genelinde 58 mesaj: 55 tanesi canlı hizmete karşı yakalandı, 2 tanesi bir istek gönderilmeden önce SDK tarafından reddedildi ve 1 tanesinde konu DynamoDB Local'in kendi ifadesi. 6 tanesi, emülatörün aynı hatayı nasıl ifade ettiğine dair bir not taşır.

Canlı hizmet
Amazon DynamoDB (live service, us-east-1)
Emülatör (karşılaştırma için)
DynamoDB Local (amazon/dynamodb-local)
JavaScript SDK
@aws-sdk/client-dynamodb 3.1096.0
Python SDK
boto3 1.43.81 on Python 3.14.7
Node.js
v24.20.0

Daha fazla DynamoDB kaynağı

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.